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