2017-10-21 30 views
1

我通过FTP代码使用C#上传.mp3文件,该文件成功上传到服务器上,但当我绑定到一个简单的音频控件或直接在浏览器中查看它不起作用如预期的那样,而当我在服务器上手动上传时,它完美地工作。音频文件无法通过FTP上传编程

代码:

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

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

谢谢!

回答

2

您正在以文本形式读取文件,然后使用UTF8编码将其转换为字节。如果你这样做,并且文件包含任何不能编码为有效UTF8值的二进制序列,则数据流的一部分将被简单地丢弃。

而是直接以字节读取它。不要打扰StreamReader。在基础流上调用Read() method。例如:

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

作品完美!非常感谢约翰! – Dev