3

Apache-Commons FileUpload libraryファイルをサーバーにアップロードするために使用しています。正常に動作していましたが、ファイルを送信すると、FileItem.isFormField()何らかの理由で突然 true が返されます。これは私が持っているコードです

FileUpload.javaサーブレット

if (ServletFileUpload.isMultipartContent(request)) 
{
    List<FileItem> items = new ServletFileUpload(
                   new DiskFileItemFactory()).parseRequest(request);

    for (FileItem item : items)
    {
        // if item is a file type and not a form field 
        if (!item.isFormField())
        {
                // UPLOAD FILE
        }
    }
}

ticketform.jsp

<form action="upload" enctype="multipart/form-data" method=post>
    <button type="button" id="clip-btn" class="attach-tool-tip" >
        <img src="images/attachment.png" id="attach-img" width="25px"/>
    </button>

    <input id="attach-btn" type="file" style="display:none"/>
    <input id="submit-form" name="upload" type="submit" style="display:none"/>
</form>

ticketform.js

// trigger file chooser click when clicking paper clip icon
$('#clip-btn').click(function()
{
    $('#attach-btn').trigger('click');
});

// trigger file submit on filename change in input type='file'
$('#attach-btn').change(function()
{
    $('#submit-form').trigger('click');
});

' ' の内容、attach-btnつまり入力ファイルの種類を見ると、ファイルは正しい名前、最終更新日、サイズなどでそこにあるので、正常なファイルで送信されています。リクエストが解析されたときに、フォーム フィールドとしてカウントされる外部的な理由はありますか?

4

1 に答える 1