我正在使用Knockout编写应用程序。我希望用户浏览一个文件,然后我想将文件名传递给服务器。但是,由于浏览器安全问题,文件的路径始终为c:\ fakepath。
有没有人能够将文件名提供给服务器,以便获取文件并上传?我想使用服务器上传文件的原因是我使用Amazon S3存储文件,我希望服务器进行连接。
这是我的约束力:
<input type="file" name="talkFile" data-bind="value: $root.TalkFile">
答案 0 :(得分:0)
Knockout没有文件绑定。要么以老式方式提交文件,要么为{ajax文件查看jQuery File Upload之类的内容。
如果您选择。要在模板中使用ajax,请确保表单换行是文件元素是多部分编码(enctype =“multipart / form-data”),然后您可以添加自定义绑定。
我通常使用这个: 模板
<input type="file" id="fileupload" name="image" data-bind="fileUpload : '.dropzone' " >
自定义绑定
ko.bindingHandlers.fileUpload = {
init: function(el, valueAccessor, aba, mod){
$(el).fileupload({
dropZone: valueAccessor(), //this would be .dropzone
url: '/upload/path,
dataType: 'json',
done: function (e, data) {
}
});
}
};