2

XMLHttpRequest オブジェクトを使用してサーバーにファイルをアップロードする JavaScript コードがあります。C# を使用して記述された Web サービスで、ファイルをストリームとして受け入れています。

int uploadFile(Stream file)
{
    using (FileStream fileStream = File.Create(System.AppDomain.CurrentDomain.BaseDirectory + "file.csv"))
            {
                byte[] buffer = new byte[8 * 1024];
                int len;
                while ((len = file.Read(buffer, 0, buffer.Length)) > 0)
                {
                    fileStream.Write(buffer, 0, len);
                }    
            }
    //process file
    return 0;
}

JavaScript では、ファイルはフォーム データ オブジェクトとして送信されます。

var fd = new FormData(document.forms.namedItem("file"));
var req = new XMLHttpRequest();
req.open("POST", url, true);
req.send(fd);

現在、Excelファイルをサーバーに保存しようとしています。ストリームをバイト配列に読み取り、csv ファイルに書き込みます。しかし、私が直面しているエラーは、csv ファイルのデータが破損していることです。

どこが間違っていますか、または Web サービスを介してファイルをアップロードして保存する他の方法はありますか?

ありがとう。

4

0 に答える 0