Je joue avec les extensions Chrome. Mon extension a une simple fenêtre contextuelle avec un bouton qui lit un fichier de Chrome FileSystem et POST ce fichier sur un WebAPI de base .net.Comment poster le fichier 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);
}
Mon action WebAPI suit:
[HttpPost("UploadFiles")]
public async Task<IActionResult> Post(IFormFile files)
{
return Ok();
}
télécharger le fichier que j'obtiens cette exception:
System.IO.InvalidDataException: Missing content-type boundary.
Comment puis-je résoudre ce problème?
Merci
Essayez d'utiliser FormData: [envoyer un fichier comme multipart par xmlHttpRequest] (// stackoverflow.com/a/9397172) – wOxxOm