1

ブラウザから asp.NET サービスにファイルをアップロードしようとしています。FileReader.readAsDataURL()ファイルをデータURLとして使用および取得しています。

この JavaScript コードevent.target.result.match(/,(.*)$/)[1]を使用して、自分のファイルのみを base64 形式で取得しています。これは私がサービスに送信しているものです。

以下のコードを使用して、ファイルを分離ストレージに保存しています

IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(
     IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);

byte[] byteArray = Convert.FromBase64String(data);                    

IsolatedStorageFileStream stream = new IsolatedStorageFileStream("myfile", 
      FileMode.Create, isoStore);

StreamWriter writer = new StreamWriter(stream);
writer.Write(byteArray);
writer.Close();

残念ながら、保存しようとしているファイルが壊れています。私は何か間違ったことをしていますか?これを行うためのより良い方法はありますか?

編集: Gmail スタイルのファイル アップロードを実現しようとしています。フォームを試してみましたが、非常に複雑です。

私の ajax 呼び出しは次のようになります。

var query = {
    "data": fileData,
    "fileName": fileName
};

$.ajax({
    type: "POST",
    url: "Page.aspx/UploadFile",
    data: JSON.stringify(query),
    contentType: "application/json; charset=utf-8",
    dataType: "JSON"});

UTF-8エンコーディングに関連するものでしょうか?

4

1 に答える 1