Ошибка при попытке воспроизведения видеофайла, загруженного на FTP-сервер с использованием FTPWebRequest

Когда я пытаюсь воспроизвести видео, загруженное на FTP-сервер с использованием кода.net, появляется сообщение "Невозможно воспроизвести. Элемент не может быть воспроизведен, пожалуйста, повторно получите контент. 0xc00d36e5.

Ниже приведен код, который я использую для загрузки видеофайла на FTP-сервер:

Protected Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
    Try
        Dim posFile As HttpPostedFile = Nothing
        posFile = MyFile.PostedFile

        Dim strFileName As String = ""
        strFileName = posFile.FileName

        Dim ext As String = ""
        Dim fileName As String = ""

        ext = System.IO.Path.GetExtension(strFileName)
        fileName = "Vid_" + Now().ToString("yyyyMMddHHmmsss") & ext

        If MyFile.PostedFile.FileName = "" Then
            lblMsg.Text = "Please select a file to upload."
            lblMsg.Visible = True
            lblMsg.CssClass = "error"
        Else
            Dim fileBytes As Byte() = Nothing
            Using fileStream As New StreamReader(posFile.InputStream)
                fileBytes = Encoding.UTF8.GetBytes(fileStream.ReadToEnd())
                fileStream.Close()
            End Using

            Try
                Dim ftp As String = System.Configuration.ConfigurationManager.AppSettings("FtpMediaServerURL") //ftp://www.server.com

                Dim ftpFolder As String = "/media/"

                Dim request As FtpWebRequest = DirectCast(WebRequest.Create(ftp & ftpFolder & fileName), FtpWebRequest)
                request.Method = WebRequestMethods.Ftp.UploadFile

                request.Credentials = New NetworkCredential(System.Configuration.ConfigurationManager.AppSettings("FtpMediaServerUserName"), System.Configuration.ConfigurationManager.AppSettings("FtpMediaServerPassword"))
                request.ContentLength = fileBytes.Length
                request.UsePassive = True
                request.KeepAlive = False
                request.UseBinary = True
                request.ServicePoint.ConnectionLimit = fileBytes.Length
                request.EnableSsl = False

                Using requestStream As Stream = request.GetRequestStream()
                    requestStream.Write(fileBytes, 0, fileBytes.Length)
                    requestStream.Close()
                End Using

                Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
                response.Close()

                lblMsg.Text = "Your file has been uploaded successfully."
                lblMsg.Visible = True
                lblMsg.CssClass = "confirmation"

            Catch ex As Exception
                lblMsg.Text = "An Error occured while uploading your file. Please try again."
                lblMsg.Visible = True
                lblMsg.CssClass = "error"
            End Try
        End If
    Catch ex As Exception
       //Handle Exception
    End Try
End Sub

Кто-нибудь может указать, что я делаю неправильно, или я что-то упускаю?

1 ответ

Решение

Эта проблема решена! Вместо того, чтобы загружать видеофайл непосредственно на FTP-сервер, я загружал видео во временную папку на сервере веб-сайта, а затем переносил его на FTP-сервер с помощью FTPWebRequest,

Другие вопросы по тегам