Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat Liferay小文件上载(<;1kb)_Java_Tomcat_Liferay - Fatal编程技术网

Java Tomcat Liferay小文件上载(<;1kb)

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

我遇到了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.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);