我认为有一些非常简单的事情我不认为这里发生了错误。这是我上传文件的 jquery 代码:
import: function (e) {
e.preventDefault();
var formData = new FormData();
jQuery.each($('#import_excel_file')[0].files, function(i, file) {
formData.append('import_file', file, 'xls');
});
formData.append('fuel_type_id', $('#import_fuel_type').val());
this.shipOff(formData);
},
shipOff: function (formData) {
$.ajax({
type: 'POST',
url: App.Options.rootUrl + "/stations/stations/excel_import",
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (data) {
console.log('successful upload', data);
}
});
}
然后在 Controller 中,我调用 import = Excel.new(xls_file.tempfile.to_path.to_s)
,我收到类似 TypeError (/var/folders/rd/58f3hjw10lv09q_8hsl0l7zn1mn1rf/T/RackMultipart20130909-36782-r1bv5n 不是 Excel 文件)
我在这里缺少什么?
最佳答案
您可以通过忽略 file_warning ( https://github.com/Empact/roo/issues/67 ) 来忽略文件扩展名检查
Roo::Excel.new(file.path, file_warning: :ignore)
我还建议将此逻辑从 Controller 移到导入器类中。
关于jquery - ruby roo gem excel导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18703476/