2017-10-21 1 views
1

Ich lade eine .mp3-Datei über FTP-Code mit C# hoch, die Datei wird erfolgreich auf Server hochgeladen, aber wenn ich an eine einfache Audiosteuerung binden oder direkt im Browser anzeigen, funktioniert es nicht wie erwartet, während wenn ich manuell auf dem Server hochladen es funktioniert perfekt.Audiodatei funktioniert nicht per FTP-Upload programmatisch

Code:

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

Hinweis: Wenn ich die Datei in Firefox sehen es zeigt, MIME-Typ nicht unterstützt wird.

Danke!

Antwort

2

Sie lesen die Datei als Zeichenfolge und verwenden dann die UTF8-Codierung, um sie in Bytes umzuwandeln. Wenn Sie dies tun und die Datei eine binäre Sequenz enthält, die nicht mit einem gültigen UTF8-Wert codiert ist, werden Teile des Datenstroms einfach verworfen.

Stattdessen lesen Sie es direkt als Bytes. Sorgen Sie nicht mit dem StreamReader. Rufen Sie die Read() method für den zugrunde liegenden Stream. Beispiel:

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

Funktioniert perfekt! Großer Dank John! – Dev

Verwandte Themen