0
我需要從上傳到控制器的blob中刪除以下標題部分。我嘗試使用GET
方法,但無法加載數據。該標題阻止文件正常播放。刪除XMLHttpRequest的標題
------WebKitFormBoundaryRxmjN7irF2fjoibL
Content-Disposition: form-data; name="that_random_filename.wav"; filename="blob"
Content-Type: audio/wav
控制器
public JsonResult SubmitSound()
{
var length = Request.ContentLength;
var bytes = new byte[length];
Request.InputStream.Read(bytes, 0, length);
// Create the new, empty data file.
string fileName = AppDomain.CurrentDomain.BaseDirectory + "/Content/Sound/" + Environment.TickCount + ".wav";
FileStream fs = new FileStream(fileName, FileMode.CreateNew);
BinaryWriter w = new BinaryWriter(fs);
w.Write(bytes);
w.Close();
fs.Close();
return new JsonResult() { Data = "Saved successfully" };
}
編輯
我用recordjs
馬特鑽石(demo,只適用於Chrome瀏覽器),庫,錄製語音,將其保存爲一個blob在一個JavaScript變量中。這是一種硬性邏輯,我無法將該blob更改爲文件,主要是因爲它只是內存中的變量。
查看
function doneEncoding(blob) {
var xhr = new XMLHttpRequest();
var fd = new FormData();
fd.append("that_random_filename.wav", blob);
console.log(fd);
xhr.open("POST", "/Home/SubmitSound", true);
xhr.send(fd);
Recorder.forceDownload(blob, "myRecording" + ((recIndex < 10) ? "0" : "") + recIndex + ".wav");
recIndex++;
}
我可以手動刪除數組的第一個字節的第n個,但它不是我不夠優雅。能否請你幫忙?謝謝
重點是我沒有上傳文件,而是由JavaScript創建的** blob **。 –
對不起,沒有JavaScript供您參考,表格邊界/內容處置信息說明它是一個文件 - 您是否已經試圖按照我的建議像文件一樣接受它? –
快速更新我的問題 –