音频文件无法通过 FTP 以编程方式上传
Audio file is not working via FTP upload programatically
我正在使用 C# 通过 FTP 代码上传一个 .mp3 文件,该文件已成功上传到服务器,但是当我绑定到一个简单的音频控件或直接在浏览器中查看时,它无法按预期工作,而当我在服务器上手动上传时,它工作得很好。
代码:
var inputStream = FileUpload1.PostedFile.InputStream;
byte[] fileBytes = new byte[inputStream.Length];
inputStream.Read(fileBytes, 0, fileBytes.Length);
注意:当我在 Firefox 中查看文件时,它显示不支持 MIME 类型。
谢谢!
您正在以字符串形式读取文件,然后使用 UTF8 编码将其转换为字节。如果您这样做,并且文件包含任何未编码为有效 UTF8 值的二进制序列,则部分数据流将被丢弃。
相反,直接将其作为字节读取。不要为 StreamReader 而烦恼。在基础流上调用 Read() method。示例:
var inputStream = FileUpload1.PostedFile.InputStream
byte[] fileBytes = new byte[inputStream.Length];
inputStream.Read(fileBytes, 0, fileStream.Length);
我正在使用 C# 通过 FTP 代码上传一个 .mp3 文件,该文件已成功上传到服务器,但是当我绑定到一个简单的音频控件或直接在浏览器中查看时,它无法按预期工作,而当我在服务器上手动上传时,它工作得很好。
代码:
var inputStream = FileUpload1.PostedFile.InputStream;
byte[] fileBytes = new byte[inputStream.Length];
inputStream.Read(fileBytes, 0, fileBytes.Length);
注意:当我在 Firefox 中查看文件时,它显示不支持 MIME 类型。
谢谢!
您正在以字符串形式读取文件,然后使用 UTF8 编码将其转换为字节。如果您这样做,并且文件包含任何未编码为有效 UTF8 值的二进制序列,则部分数据流将被丢弃。
相反,直接将其作为字节读取。不要为 StreamReader 而烦恼。在基础流上调用 Read() method。示例:
var inputStream = FileUpload1.PostedFile.InputStream
byte[] fileBytes = new byte[inputStream.Length];
inputStream.Read(fileBytes, 0, fileStream.Length);