使用Jquery将所选文件作为预览选项下载

使用Jquery将所选文件作为预览选项下载,jquery,Jquery,在我的例子中,用户可以选择一个文件并单击submit按钮。提交按钮后,我将文件显示为表格格式,带有文件名、文件大小、下载链接和删除选项。现在我的要求是,如果用户单击表中的下载按钮,那么文件应该下载。 我不想在选定的文件上上载文件服务器端 var file = document.getElementById('documentfile').files[0]; var filename = document.getElementById('documentfile

在我的例子中,用户可以选择一个文件并单击submit按钮。提交按钮后,我将文件显示为表格格式,带有文件名、文件大小、下载链接和删除选项。现在我的要求是,如果用户单击表中的下载按钮,那么文件应该下载。 我不想在选定的文件上上载文件服务器端

  var file = document.getElementById('documentfile').files[0];
                var filename = document.getElementById('documentfile').files[0].name;
                var size = document.getElementById('documentfile').files[0].size;
                var ext = $('#documentfile').val().split('.').pop().toLowerCase();
                var reader = new FileReader();
                var fileurl;
                reader.onload = function (e) {
                    fileurl = e.target.result;
                }
                reader.readAsDataURL(file);
                var str = '<tr><td>1</td><td>' + filename + '</td><td>' + $('.sltdoctype').val() + '</td><td>' + niceBytes(size) + ' </td><td> <a href=' + fileurl + '  download>download</a></td><td> <a href="#" class="anchorRemove" >Remove</a> </td></tr>'
                $('.document-table-str .table .tbody').append(str);
                $('.document-table-str').show();
                $('#documentfile').val("")

等等什么?是否要上载文件而不将其实际上载到服务器?是的,实际上我希望提供预览选项。用户可以选择多个文件,如果用户对其文件有疑问,他或她将下载文件并进行检查。在最终提交后,我会将所有文件上传到服务器我已经更新了codeBetter。。。因此,您的问题在许多指向的重复中得到了很好的解决。我不能再投票了,因为我已经反对第一次修订了。但实际上,您甚至不需要在这个回调噩梦中运行,只需使用同步URL.createObjectURLfile即可。在各方面都要好得多。我不是来评判什么的,但你确定要让你的用户下载他们刚从磁盘上传的文件吗?