1
react.jsとASP.Netコア2.0の両方を初めて使用しています。そして、現在、ASP.Netコア2.0をバックエンドAPIとして、react.jsをアプリケーションインターフェイス(フロントエンド)として使用してプロジェクトを作成しています。私はファイルをアップロードする方法を知りたいです。私は以下のように試みましたが、バックエンド側ではパラメータ値(IFromFileファイル)は常にnullです。ファイルが正しくポストされていないようです。ここに私のコードです:ASP.Net Core 2.0 Web APIとReact.jsを使用したファイルアップロード
ネットコア(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");
}
}
私は問題を解決する方法を教えてください。