JSP文件上载[从windows计算机中选择要上载到unix计算机的文件]
我们可以使用JSP文件上载将从windows计算机选择的文件上载到Unix服务器吗?我使用FileItem的write方法将文件写入磁盘,它不会引发任何异常,但文件没有创建/写入。下面的代码对我来说很好。将文件从windows复制到Unix不会产生任何问题。谢谢JSP文件上载[从windows计算机中选择要上载到unix计算机的文件],jsp,file-upload,Jsp,File Upload,我们可以使用JSP文件上载将从windows计算机选择的文件上载到Unix服务器吗?我使用FileItem的write方法将文件写入磁盘,它不会引发任何异常,但文件没有创建/写入。下面的代码对我来说很好。将文件从windows复制到Unix不会产生任何问题。谢谢 <%@ page import="org.apache.commons.fileupload.DiskFileUpload"%> <%@ page import="org.apache.commons
<%@ page import="org.apache.commons.fileupload.DiskFileUpload"%>
<%@ page import="org.apache.commons.fileupload.FileItem"%>
<%@ page import="java.util.List"%>
<%@ page import="java.util.Iterator"%>
<%@ page import="java.io.File"%>
<%
ServletContext context = pageContext.getServletContext();
final String SERVER_PATH = context.getInitParameter("file-upload");
try {
DiskFileUpload fu = new DiskFileUpload();
// If file size exceeds, a FileUploadException will be thrown
fu.setSizeMax(100000000);
List fileItems = fu.parseRequest(request);
Iterator itr = fileItems.iterator();
while(itr.hasNext()) {
FileItem fi = (FileItem)itr.next();
//Check if not form field so as to only handle the file inputs
if(!fi.isFormField()) {
String extension = fi.getName();
extension = extension.substring(extension.lastIndexOf("\\")+1);
File fNew= new File(SERVER_PATH, extension);
fi.write(fNew);
}
}
} catch(Exception e) {
e.printStackTrace();
}
%>
下面的代码对我来说很好。将文件从windows复制到Unix不会产生任何问题。谢谢
<%@ page import="org.apache.commons.fileupload.DiskFileUpload"%>
<%@ page import="org.apache.commons.fileupload.FileItem"%>
<%@ page import="java.util.List"%>
<%@ page import="java.util.Iterator"%>
<%@ page import="java.io.File"%>
<%
ServletContext context = pageContext.getServletContext();
final String SERVER_PATH = context.getInitParameter("file-upload");
try {
DiskFileUpload fu = new DiskFileUpload();
// If file size exceeds, a FileUploadException will be thrown
fu.setSizeMax(100000000);
List fileItems = fu.parseRequest(request);
Iterator itr = fileItems.iterator();
while(itr.hasNext()) {
FileItem fi = (FileItem)itr.next();
//Check if not form field so as to only handle the file inputs
if(!fi.isFormField()) {
String extension = fi.getName();
extension = extension.substring(extension.lastIndexOf("\\")+1);
File fNew= new File(SERVER_PATH, extension);
fi.write(fNew);
}
}
} catch(Exception e) {
e.printStackTrace();
}
%>
检查文件夹中的访问权限。不过,我相信这是可行的。大多数J2ee服务器都在unix中。嘿,谢谢,但是文件夹是可访问的,我在catalina.policy中添加了写文件权限。我不确定,但这可能是由于不同的操作系统造成的吗?字符串filePath=context.getInitParameter(“文件上载”);DiskFileItemFactory=新的DiskFileItemFactory();ServletFileUpload upload=新的ServletFileUpload(工厂);List fileItems=upload.parseRequest(请求);迭代器i=fileItems.Iterator();而(i.hasNext()){FileItem fi=(FileItem)i.next();String fileName=fi.getName();file=new file(filePath+fileName.substring(fileName.lastIndexOf(“\\”));fi.write(file);}有解决方案吗?或任何其他方法?检查文件夹中的访问权限。不过,我相信这是可行的。大多数J2ee服务器都在unix中。嘿,谢谢,但是文件夹是可访问的,我在catalina.policy中添加了写文件权限。我不确定,但这可能是由于不同的操作系统造成的吗?字符串filePath=context.getInitParameter(“文件上载”);DiskFileItemFactory=新的DiskFileItemFactory();ServletFileUpload upload=新的ServletFileUpload(工厂);List fileItems=upload.parseRequest(请求);迭代器i=fileItems.Iterator();而(i.hasNext()){FileItem fi=(FileItem)i.next();String fileName=fi.getName();file=new file(filePath+fileName.substring(fileName.lastIndexOf(“\\”));fi.write(file);}有解决方案吗?还是其他方法?