我只是希望能够使用 html 输入类型=“文件”来选择 Excel 文件<input type="file" id="UploadedFile" name="UploadedFile" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">然后将所选文件传递回服务器 - 最好使用 AJAX post: var serviceURL = appRoot + 'Register/ImportTasks' $j.ajax({ type: "post", url: serviceURL, data: (??? Not sure how to present here ???), contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc });具体来说,我看不到如何将“文件”作为数据呈现给 AJAX 调用。 public void ImportTasks(DataType?? uploadedExcelFile) { ..... Doing stuff ... }然后我不确定我应该告诉方法在调用它时期望什么参数数据类型?
1 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
这是一个基本示例。你应该使用FormData
var formData = new FormData();
var uploadFiles = document.getElementById('js-upload-files').files;
this.formData.append("MyKey", uploadFiles[0]);
$.ajax({
type: "POST",
url: 'Controller/Upload',
data: formData,
dataType: 'json',
contentType: false,
processData: false,
complete: this.onComplete.bind(this)
});
编辑
忘记控制器代码
[HttpPost]
public virtual BetterJsonResult Upload()
{
foreach (var fileKey in Request.Files)
{
...Request.Files[fileKey.ToString()] //access it like this
}
}
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报
0/150
提交
取消