Java Tomcat Liferay小文件上载(<;1kb)
我遇到了Tomcat Liferay文件上载的问题 在代码中,我得到了一个空文件大小,这导致Tomcat在尝试在Tomcat临时文件夹中查找新上载的文件时返回null 我的代码:Java Tomcat Liferay小文件上载(<;1kb),java,tomcat,liferay,Java,Tomcat,Liferay,我遇到了Tomcat Liferay文件上载的问题 在代码中,我得到了一个空文件大小,这导致Tomcat在尝试在Tomcat临时文件夹中查找新上载的文件时返回null 我的代码: File[] files = uploadRequest.getFiles("fileupload"); for(File f : files) { (f.length == 0) { /* This is always true (null file upload) */ } FileUtil.cop
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");
File[]files=uploadRequest.getFiles(“fileupload”);
用于(文件f:文件){
(f.length==0){/*这始终为真(空文件上载)*/}
FileUtil.copyFile(f,newfile);//这会引发空指针异常
}
//从表单中获取文件的任何其他尝试也会发生,如下所示(见下文)。
//这些都不能用于小于1KB的文件
FileItem[]fileitems=uploadRequest.getMultipartParameterMap().get(“fileupload”);
如果文件大于1kb,那么它实际上可以工作。真正的问题是,当我实际尝试并实际使用FileUtil.copyFile()移动文件时,上面的代码出现了错误-它抛出一个空指针异常,表示原始文件(此时应该在临时文件夹中)为空
我很困惑为什么会这样。以下是此文件的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>
所选文件夹:
/Home/User/Desktop/Some\u Selected\u file.ext
谢谢看起来这解决了它:
看起来这解决了它:
您使用什么库来处理multipart?你如何获得上传请求,它是什么类型的?
UploadPortletRequest-uploadRequest=portal.getUploadPortletRequest(请求)
及其来自包com.liferay.portal.kernel.upload.UploadPortletRequest
您使用什么库来处理multipart?你如何获得上传请求,它是什么类型的?UploadPortletRequest-uploadRequest=portal.getUploadPortletRequest(请求)
及其来自包com.liferay.portal.kernel.upload.UploadPortletRequest
// This can be used to get files smaller than 1kb
uploadRequest.getFile("param", true);