Javascript 如何使用文件字段打开上载的文件

Javascript 如何使用文件字段打开上载的文件,javascript,jquery,file-upload,Javascript,Jquery,File Upload,我正在构建一个表单,其中有一个文件上载字段,用户可以使用该字段上载附件。我想提供一种方法,让用户在提交表单之前检查他们所附的附件。因此,单击按钮时,使用文件字段选择的任何文件都应在新窗口中打开。我无法确定如何从文件字段向window.open调用提供数据。以下操作不起作用: $("#view_attachment_btn").on( 'click', function() { var fr = new FileReader(); fr.onload = function

我正在构建一个表单,其中有一个文件上载字段,用户可以使用该字段上载附件。我想提供一种方法,让用户在提交表单之前检查他们所附的附件。因此,单击按钮时,使用文件字段选择的任何文件都应在新窗口中打开。我无法确定如何从文件字段向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());
}

为了使用JS文件API访问所选文件,必须使用纯javascript:

$file\u upload\u field.val将返回C:/fakepath/xxx

您必须使用get0获取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]);
}