1
我对react.js和ASP.Net core 2.0都很陌生。现在用ASP.Net core 2.0编写一个项目作为后端API,react.js作为应用程序接口(前端)。我想知道如何上传文件。我试过如下,但在后端侧参数值(IFromFile文件)始终为空。而且似乎该文件没有正确发布。这里是我的代码:使用ASP.Net Core 2.0 Web API和React.js进行文件上传
的.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");
}
}
请告知我怎样才能解决这个问题。