如何获得用户的完整路径's类型=“;文件“;使用jQuery Fileupload
How to get full path to user's type="file" using jQuery Fileupload
我试图在文件上传到服务器之前构建文件预览功能。
我遇到了从用户的计算机而不是服务器读取文件的问题
我通常使用jquery Fileupload,它在更改函数上启动文件处理
return $('#new_order_file').fileupload({
change: function(e, data) {
return $.each(data.files, function(index, file) {
read_file(file);
console.log(file)
});
},
});
日志提供文件名、大小、类型、proto和LastmodifiedDate
这部分对我来说很棘手,我知道我必须使用FileReader()
,但我不确定如何
function read_file(f){
var reader = new FileReader();
reader.onload = function(e) {
$('#CO-show-model').css('display', 'block');
loaded(f.name, e.target.result);
};
reader.readAsArrayBuffer(f);
}
接下来,加载的函数是使用three.js 显示文件模型
function loaded(file) {
var uploaded_file = file // gives 404
// var uploaded_file = './stl/test-file.stl' // ASCII test
}
功能本身很好,我用一些测试文件的硬编码路径对它进行了测试。但问题是它在服务器上。现在,脚本为http://example.com/filename.stl这是真的,因为我在那里通过file.name
。如果我只通过file
,它给出404http://example.com/[对象%20File]
编辑1:我试着建议使用ReadAsDataUrl,但似乎三个.js都不支持它。此外,FileReader()似乎还可以
您的file
是一个对象,因此您必须从中获得正确的属性。点击此处查看Filereader Mozilla文档
这是一个安全功能。浏览器不会给你上传文件的实际本地url。
请参阅如何在<输入类型="文件">使用javascript,jquery ajax?
编辑:也许你想要的是这个问题?在Three.js 中加载STL文件的首选方法是什么
相关文章:
- 输入类型文件的未捕获类型错误
- 输入类型=文件验证停止其他输入类型验证
- 如何显示在输入类型文件中选择的文件
- 如何使按钮作为输入类型文件
- 可以设置输入类型=文件的文本框的高度
- 在 Angular2 中构建多部分/表单数据 POST 请求并验证输入类型文件
- 如何在jQuery中处理输入类型=文件的onchange事件
- 如何javascript验证<输入类型=文件多个>如果浏览器不支持多个
- 如何将文本上载为具有输入类型文件的表单中的文本文件
- 具有输入类型文件字段的语义UI重置表单
- 用于获取<输入类型=文件>只返回firefox中的文件名
- 输入类型文件-如何访问文件属性
- 输入类型文件将文件路径添加到范围
- 从输入类型文件中获取值
- 从输入[类型=文件]缩放图像
- 带有 javascript 的样式输入类型文件
- Ionic + Cordova InappBrowser - 输入类型=文件不起作用
- 如何设置视频文件的预览,从输入类型='文件'中选择
- 输入类型=“文件”在 Jquery 中使用链接
- 输入类型文件未正确将图像放入图像标签