0

我想创建上传文件操作,所以我输入了以下代码:

<img src="[@spring.url '/images/buttons/upload.jpg'/]" onclick="uploadFile()" title="Upload File" />

//I want to do this without showing the input file
<div style="display: none;">
    <input id="inputFile" type="file" name="upload" accept=".txt,.csv,.zip" onchange="uploadListener();">
</div>

图像标签与文件无关,只是我不想显示输入文件,所以我使用图像来调用它。

和这样的js:

function uploadFile(){
       document.getElementById('inputFile').click();

   }

   function uploadListener(){

           alert($('#inputFile').val());
           $.ajax({
               type: "POST",
               url: "/panda/assay/designability/uploadFile.htm",
               data: {file: $('#inputFile').val()} ,
               success: function(response){

               }
           });

   }

这从来没有创建自定义过滤器,我发现 IE 不支持“接受”属性,不幸的是我必须使用它。有什么建议么??

4

1 回答 1

1

你必须在你的服务器上检查这个。作为最佳实践,尤其是文件上传,无论如何您都应该在服务器端进行一些检查,以避免恶意脚本注入/执行。确实很容易更新 HTML/javascript 客户端以便能够上传任何类型的文件...我还建议将您的文件存储在您的 webroot 之外,但这与这个问题无关...

于 2013-03-28T16:39:16.343 回答