asp.net mvc3とknockout.jsを使用した複数ファイルのアップロードの包括的な例を探しています。私は周りを見回してきましたが、最初から最後まで解決策を示すものは何もありません! ノックアウトバインディングが必要なものを示す例がありますが、「コントローラー」でファイルを読み取る方法は示していません。目標は、ファイルをアップロードしてデータベースに保存することです。AWS S3 ストレージへの保存の例はプラスです。助けてください。
コバインディング:
<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.
}
また、複数のファイルをアップロードする必要がありますか? ビューモデルの設定方法がわかりません。