通过web api上传文件的正确javascript调用
我有一个javascript函数,如下所示:通过web api上传文件的正确javascript调用,javascript,c#,jquery,ajax,webapi,Javascript,C#,Jquery,Ajax,Webapi,我有一个javascript函数,如下所示: function uploadFiles(PIRid) { var fileInput = $('#incidentFiles'); var fileCount = fileInput[0].files.length; for (i = 0; i < fileCount; i++){ var Obj = new Object(); Obj.Name = fileInput[0].files[i].name; var r
function uploadFiles(PIRid) {
var fileInput = $('#incidentFiles');
var fileCount = fileInput[0].files.length;
for (i = 0; i < fileCount; i++){
var Obj = new Object();
Obj.Name = fileInput[0].files[i].name;
var reader = new FileReader();
Obj.File = reader.readAsBinaryString(fileInput[0].files[i]);
Obj.PIRid = PIRid;
Obj.RemoteID = RemoteID;
var data = JSON.stringify(Obj);
$.ajax({
type: "POST",
url: BaseHref + "/api/PIRfiles/",
data: data,
contentType: "application/json; charset=UTF-8",
success: function (response) {
$('#SaveSuccess').modal();
},
error: function (e) {
$('#SaveFailure').modal();
}
});
}
调用已通过,但物理文件为空。我缺少什么?在哪里运行?您将文件作为字符串发送,但您的文件属性是
byte[]file代码>。将属性更改为字符串或。使用object.@evolutionxbox-不确定我是否正确理解这个问题,但它是在Azure上运行的,将文件存储在db@Eldar-那么这对接收代码的c#部分意味着什么?要接收Formdata,我必须更改当前设置中的哪些内容?如果需要,我可以发布控制器的副本needed@user566095它是否在节点中运行?还是在浏览器中?
public class ApiPIRfile
{
public string Name;
public byte[] File;
public string PIRid;
public string RemoteID;
}