2017-03-31 5 views
1

Tomcat Liferayファイルのアップロードに関する問題が発生しています。Tomcat Liferay小さなファイルのアップロード(1kb未満)

コードに空のファイルサイズがあり、Tomcat Tempフォルダに新しくアップロードされたファイルを見つけようとすると、Tomcatがnullを返す原因となります。

マイコード:

File[] files = uploadRequest.getFiles("fileupload"); 
for(File f : files) { 
    (f.length == 0) { /* This is always true (null file upload) */ } 
    FileUtil.copyFile(f, newfile); // This throws a null pointer exception 
} 

// Also happens with any other attempts at getting the file from the form, like this (below). 
// None of these work with files < 1 kb 
FileItem[] fileitems = uploadRequest.getMultipartParameterMap().get("fileupload"); 

ファイルは1キロバイトよりも大きい場合、それは実際に動作します。実際の問題は、私が実際にFileUtil.copyFile()を使って実際にファイルを移動しようとすると、上記のコードエラーが発生するということです。元のファイル(この時点で一時フォルダにあるはずです)を示すnullポインタ例外がスローされます。無効である。

なぜこれが起こるのかかなり混乱します。ここでは、このためのHTMLは次のとおりです。

<aui:form action="<%=uploadFileURL%>" enctype="multipart/form-data" method="POST"> 
    <aui:input type="hidden" value="/" name="selected_dir_input"/> 
    <b>Selected Folder: </b> 
    <span id="selected_folder">/Home/User/Desktop/Some_Selected_file.ext</span> 
    <aui:input type="file" name="fileupload" multiple="true"/> 
    <aui:button name="Upload" value="Upload" type="submit" /> 
</aui:form> 

+0

?あなたは 'uploadRequest'をどうやって取得していますか? –

+0

'UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(リクエスト);'およびそのパッケージから 'com.liferay.portal.kernel.upload.UploadPortletRequest' – Billy

答えて

関連する問題