JSP文件上载[从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

我们可以使用JSP文件上载将从windows计算机选择的文件上载到Unix服务器吗?我使用FileItem的write方法将文件写入磁盘,它不会引发任何异常,但文件没有创建/写入。

下面的代码对我来说很好。将文件从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(); 

            }   

    %>


下面的代码对我来说很好。将文件从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);}有解决方案吗?还是其他方法?