我在玩Chrome擴展。我的擴展有一個簡單的彈出窗口,其中包含一個按鈕,用於從Chrome文件系統讀取文件並將該文件發佈到.net核心WebAPI。如何將HTML5 fileEntry文件發佈到.net core web api?
function requestUpload() {
window.requestFileSystem(window.PERSISTENT, 5 * 1024 * 1024,
function (fs) {
fs.root.getFile('ciccio.txt', {}, function (fileEntry) {
// Get a File object representing the file,
fileEntry.file(function (files) {
let xhr = new XMLHttpRequest();
xhr.open("post", "http://localhost:5000/api/Files/UploadFiles", true);
xhr.setRequestHeader("Content-Type", "multipart/form-data");
xhr.setRequestHeader("X-File-Name", files.name);
xhr.setRequestHeader("X-File-Size", files.size);
xhr.setRequestHeader("X-File-Type", files.type);
xhr.send(files);
}, errorHandler);
}, errorHandler);
}, errorHandler);
}
我的WebAPI動作如下:
[HttpPost("UploadFiles")]
public async Task<IActionResult> Post(IFormFile files)
{
return Ok();
}
上傳文件我得到這個異常:
System.IO.InvalidDataException: Missing content-type boundary.
我怎樣才能解決這個問題呢?
謝謝
嘗試使用FORMDATA:通過XMLHttpRequest的發送文件爲多(// stackoverflow.com/a/9397172) – wOxxOm