Je suis novice à la fois pour react.js et pour ASP.Net core 2.0. Et maintenant écrire un projet en utilisant ASP.Net core 2.0 comme API back-end et reac.js comme interface d'application (front-end). Je voudrais savoir comment télécharger un fichier. J'ai essayé comme suit mais dans le côté Back-end, la valeur du paramètre (fichier IFromFile) est toujours nulle. Et il semble que le fichier n'a pas été posté correctement. Voici mes codes:Téléchargement de fichier avec l'API Web ASP.Net Core 2.0 et React.js
core .Net (API)
[HttpPost]
[Route("upload")]
public async Task Upload(IFormFile file)
{
if (file == null) throw new Exception("File is null");
if (file.Length == 0) throw new Exception("File is empty");
using (Stream stream = file.OpenReadStream())
{
using (var binaryReader = new BinaryReader(stream))
{
var fileContent = binaryReader.ReadBytes((int)file.Length);
// await _uploadService.AddFile(fileContent, file.FileName, file.ContentType);
}
}
}
React.js
handleClick(event){
event.preventDefault();
// console.log("handleClick",event);
var self = this;
var apiBaseUrl = axios.defaults.baseURL + "user/upload";
if(this.state.filesToBeSent.length>0){
var filesArray = this.state.filesToBeSent;
const reader = new FileReader();
for(var i in filesArray){
//console.log("files",filesArray[i][0]);
var file = filesArray[i][0];
axios.post(apiBaseUrl, {data: file});
}
alert("File upload completed");
}
else{
alert("Please select files first");
}
}
S'il vous plaît conseiller comment puis-je résoudre le problème.