用formData传blob对象后台request.form取不到怎么办?

前端js代码

            var reader = new FileReader();

reader.readAsArrayBuffer(file); //文件是excel文件

reader.onload = function () {

//alert("load");

var blob = new Blob([reader.result]);

//提交到服务器

var fd = new FormData();

fd.append('data', blob);

fd.append('filename', file.name);

var aa=fd.get('data'); ///这里可以取得文件

var xhr = new XMLHttpRequest();

xhr.open('post',

'../UploadExcel',

true);

xhr.onreadystatechange = function () {

if (xhr.readyState == 4 && xhr.status == 200) {

var data = eval('(' + xhr.responseText + ')');

console.info(data);

if (data.success) {

//上传成功

var imgName = data.msg;

alert(imgName);

} else {

alert(data.msg);

}

}

}

//开始发送

xhr.send(fd);

}

后台c# 没有用任何框架,最基本的controller

[HttpPost]

public string UploadExcel()

{

HttpRequestBase req = Request;

string newname = Request.Form["filename"];

Request.Form["data"]; //这是string类型的,而且Request.Form没有这个key

return null;

}

图片描述

回答:

解决了,原来文件存放在Request.files里。。。Params和Form里只存放前台传来的普通的string字符串

以上是 用formData传blob对象后台request.form取不到怎么办? 的全部内容, 来源链接: utcz.com/p/189721.html

回到顶部