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

时间:2014-12-01 09:56:42

标签: javascript jquery file-upload

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

1 个答案:

答案 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]);
}