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){

               }
           });

   }

これはカスタムフィルターの作成には機能しませんでした.「accept」属性がIEでサポートされていないことがわかりました.残念ながら、私はそれを使用する必要があります. 助言がありますか??

4

1 に答える 1

1

サーバーでこれを確認する必要があります。ベスト プラクティスとして、特にファイルのアップロードでは、サーバー側で何らかのチェックを行って、悪意のあるスクリプトの挿入/実行を回避する必要があります。実際、あらゆる種類のファイルをアップロードできるように HTML/javascript クライアント側を更新するのは非常に簡単です...ファイルを webroot の外に保存することもお勧めしますが、これはこの質問とは関係ありません...

于 2013-03-28T16:39:16.343 に答える