我正在尝试寻找一个使用 asp.net mvc3 & knockout.js 上传多个文件的综合示例。我一直在环顾四周,但没有从头到尾显示解决方案!这些示例显示了敲除绑定需要是什么,但没有显示如何读取“控制器”中的文件。目标是将文件上传并保存到数据库。保存到 AWS S3 存储的示例是一个加号。请帮忙。
ko绑定:
<input type="file" data-bind="value: fileToUpload, fileUpload: fileToUpload, url : 'Client/Upload' " />
ko.bindingHandlers.fileUpload = {
update: function (element, valueAccessor, allBindingsAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor())
if (element.files.length && value) {
var file = element.files[0];
var url = allBindingsAccessor().url
xhr = new XMLHttpRequest();
xhr.open("post", url, true);
xhr.setRequestHeader("Content-Type", "image/jpeg");
xhr.setRequestHeader("X-File-Name", file.name);
xhr.setRequestHeader("X-File-Size", file.size);
xhr.setRequestHeader("X-File-Type", file.type);
console.log("sending")
// Send the file (doh)
xhr.send(file);
}
}
}
[HttpPost]
public ActionResult Upload()
{
//Not sure what to do here.
}
还需要做多个文件上传吗?不确定如何设置视图模型。