以编程方式通过FTP上传无法使用音频文件

时间:2017-10-21 05:23:55

标签: c# html asp.net angularjs asp.net-mvc-4

我使用C#通过FTP代码上传.mp3文件,该文件在服务器上成功上传但是当我绑定到简单的音频控件或直接在浏览器中查看时它不能按预期工作,而当我手动上传时服务器完美运行。

代码:

        var inputStream = FileUpload1.PostedFile.InputStream;
        byte[] fileBytes = new byte[inputStream.Length];
        inputStream.Read(fileBytes, 0, fileBytes.Length);

注意:当我在Firefox中查看文件时,它显示不支持MIME类型。

谢谢!

1 个答案:

答案 0 :(得分:2)

您正在将该文件作为字符串读取,然后使用UTF8编码将其转换为字节。如果你这样做,并且该文件包含任何不能编码为有效UTF8值的二进制序列,那么部分数据流将被丢弃。

相反,直接将其作为字节读取。不要打扰StreamReader。调用基础流上的Read() method。例如:

var inputStream = FileUpload1.PostedFile.InputStream
byte[] fileBytes = new byte[inputStream.Length];
inputStream.Read(fileBytes, 0, fileStream.Length);