File upload 将文件名敲除传递给服务器

File upload 将文件名敲除传递给服务器,file-upload,knockout.js,File Upload,Knockout.js,我正在用Knockout编写一个应用程序。我希望用户浏览文件,然后将文件名传递给服务器。但是,由于浏览器安全问题,文件的路径始终为c:\fakepath 有人想办法把文件名传给服务器,这样服务器就可以得到文件并上传吗?我希望使用服务器上传文件的原因是,我使用AmazonS3存储文件,并且希望服务器进行连接 这是我的装订: <input type="file" name="talkFile" data-bind="value: $root.TalkFile"> Knockout没有文

我正在用Knockout编写一个应用程序。我希望用户浏览文件,然后将文件名传递给服务器。但是,由于浏览器安全问题,文件的路径始终为c:\fakepath

有人想办法把文件名传给服务器,这样服务器就可以得到文件并上传吗?我希望使用服务器上传文件的原因是,我使用AmazonS3存储文件,并且希望服务器进行连接

这是我的装订:

<input type="file" name="talkFile" data-bind="value: $root.TalkFile">

Knockout没有文件绑定。要么以老式的方式提交文件,要么研究类似ajax文件的内容

如果你愿意的话。要在模板中使用ajax,请确保form wrapping is file元素是多部分编码(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) {                  
            }
        });
    }
};