File upload 使用ember js和IE8支持上传文件的正确方法
我无法将文件从ember.js前端上传到grails后端。因为支持IE8,我不能使用任何像ember uploader这样的ember插件。有什么建议可以解决这个问题吗?BlueImp的jQuery文件上传声称它支持IE6+。了解更多信息: 我通过以下余烬组件使用它:File upload 使用ember js和IE8支持上传文件的正确方法,file-upload,ember.js,internet-explorer-8,File Upload,Ember.js,Internet Explorer 8,我无法将文件从ember.js前端上传到grails后端。因为支持IE8,我不能使用任何像ember uploader这样的ember插件。有什么建议可以解决这个问题吗?BlueImp的jQuery文件上传声称它支持IE6+。了解更多信息: 我通过以下余烬组件使用它: {{file-upload uploadUrl=uploadUrl filename="files" buttonText="Upload files" hiddenName="fileId" hiddenV
{{file-upload uploadUrl=uploadUrl filename="files"
buttonText="Upload files"
hiddenName="fileId" hiddenValue=fileId
uploaded="filesUploaded"}}
并在组件的didInsertElement
中初始化插件:
didInsertElement: function() {
var self = this;
this.$('#'+this.get('inputId')).fileupload({
dataType: 'json',
url: this.get('uploadUrl'),
formData: function() {
return [{name: self.get('hiddenName'), value: self.get('hiddenValue')}];
},
done: function(e, data) {
self.sendAction('uploaded', data.result);
self.markCompleted(data.result.filenames);
},
fail: function (e, data) {
self.sendAction('failed', data.result);
},
add: function(e, data) {
data.process().done(function () {
data.submit();
});
},
});
谢谢你的回复,基尔尼,但我用的方法和你的不同。 我使用了这篇博文中的解决方案:
和为我工作的组件中的代码:
var fileInput = new mOxie.FileInput({
browse_button: this.$('.file-pick-button').get(0),
multiple: false
});
fileInput.onchange = function (e) {
var file = fileInput.files[0];
var reader = new mOxie.FileReader();
reader.onloadend = function () {
ajax({
type: "POST",
timeout: 5000,
url: config.serverURL + '/files/',
data: {
transportID: id,
filename: file.name,
file: reader.result
}
});
};
reader.readAsBinaryString(file);
};
fileInput.init();