通过邮递员上传时它可以正常工作,但使用anularjs
上传时却无法正常工作.netcore controller
[HttpPost, Route("csv/upload")]
public async Task<IActionResult> StudentCSV(IFormFile file)
HTML:
<div class="btn btn-rounded form-control">
<input type="file" class="input_file form-control" placeholder="select file">
</div>
角度控制器:
var myfile = $('.input_file').prop('files');
var formData = new FormData();
formData.append("file", myfile);
UniversityService.UploadCSV(formData).then(function (res) {
console.log(res);
});
角度服务
function UploadCSV(file) {
CoreService.Post(url+ '/csv/upload/',file).then(function (response) {
deferer.resolve(response);
})
}
这里的问题是
file
总是为空!
答案 0 :(得分:0)
- 您可以使用指令而不是将Jquery与Angularjs混合,但要解决此问题,请将上传功能更改为以下内容:
$scope.upload = function () {
var myfile = $('.input_file').prop('files');
var formData = new FormData();
formData.append("file", myfile[0]);// specify only one file
$http({
method: 'POST',
url: '/api/csv/upload',
data: formData,
headers: { 'Content-Type': undefined }// set contenct-type undefined
}).then(function (result) {
}, function (error) {
})
}