我正在构建一个包含文件上传字段的表单,用户可以使用该表单上传附件。我想为用户提供一种方法,在提交表单之前检查他们附加的附件。因此,在单击按钮时,使用文件字段选择的任何文件都应在新窗口中打开。我无法弄清楚如何从文件字段向window.open
调用提供数据。以下不起作用:
$("#view_attachment_btn").on( 'click', function() {
var fr = new FileReader();
fr.onload = function () {
window.open(fr.result);
};
fr.readAsDataURL($("#file_upload_field").val());
}
答案 0 :(得分:0)
要使用JS File API访问所选文件,您必须使用普通的javascript:
$("#file_upload_field").val()
将返回C:/fakepath/xxx
您必须使用get(0)
获取JS对象,然后才能使用.files
属性访问实际选定的文件,该属性将返回所选文件的数组。附加[0]
以获取第一个选定的文件。
$("#view_attachment_btn").on( 'click', function() {
var fr = new FileReader();
fr.onload = function () {
window.open(fr.result);
};
fr.readAsDataURL($("#file_upload_field").get(0).files[0]);
}