ABP Framework version: v4.2.2
UI type: MVC
DB provider: EF Core
Tiered (MVC) or Identity Server Separated (Angular): no
Exception message and stack trace:
Steps to reproduce the issue:
I am trying to upload a file, should be simple enough. i have this controller:
-
public class SourceOfTruthAttributesAppService : ApplicationService
{
public async Task<IActionResult> PostUploadFile([FromBody]IFormFile file) { try { using (var stream = new MemoryStream()) { await file.CopyToAsync(stream); } return new OkResult(); } catch (Exception ex) { return new BadRequestObjectResult(ex.Message); } }
}
i have this jquery code: $("#but_upload").click(function () { event.preventDefault();
alert('begin upload'); if ($('#file').length == 0) { alert('No file to upload'); return; } var fd = new FormData(); var file = $('#file')[0].files[0]; fd.append('file', file); abp.ajax({ type: 'POST', data: fd, processData: false, contentType: false, url: "/api/app/source-of-truth-attributes/upload-file", }).then(function (result) { alert('your file has been uploaded'); location.reload(); });
})
it works with null in the data, but when i try to pass the file in to the data i get the following error: jquery.js?_v=637504727666307175:9600 POST https://localhost:44355/api/app/source-of-truth-attributes/upload-file 415 send @ jquery.js?_v=637504727666307175:9600 ajax @ jquery.js?_v=637504727666307175:9206 (anonymous) @ abp.jquery.js?_v=637504727661778549:112 Deferred @ jquery.js?_v=637504727666307175:3751 abp.ajax @ abp.jquery.js?_v=637504727661778549:111 (anonymous) @ index.js?_v=637549962657651648:58 dispatch @ jquery.js?_v=637504727666307175:5183 elemData.handle @ jquery.js?_v=637504727666307175:4991
what am i doing wrong? thanks