2017-10-21 100 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