首页 > 代码库 > apache vfs 文件上传

apache vfs 文件上传

 1 private static FileSystemManager fsManager = null;
 2     private static final String ftpUri = "ftp://username:password@ip:port/dir/"; 
 3       
 4       static
 5       {
 6         try
 7         {
 8           FtpFileSystemConfigBuilder builder = FtpFileSystemConfigBuilder.getInstance();
 9           FileSystemOptions options = new FileSystemOptions();
10           //解决中文乱码
11           builder.setControlEncoding(options, "UTF-8");
12           builder.setServerLanguageCode(options, "zh");
13           fsManager = VFS.getManager();
14         }
15         catch (FileSystemException e)
16         {
17           e.printStackTrace();
18         }
19       }
20 
21 @RequestMapping({"/doUpload"})
22       public void doUpload(HttpServletRequest request, HttpServletResponse response, Model model) {
23          try {
24             if ((request instanceof MultipartHttpServletRequest)) {
25                 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
26                  if (multipartRequest.getFiles("uploadFile").size() > 0) {
27                      //得到传入的第一个文件,这里只是为了测试
28                      MultipartFile file = (MultipartFile)multipartRequest.getFiles("uploadFile").get(0);
29                      String fileName = file.getOriginalFilename();
30                      String filePath = ftpUri+fileName;
31                     //解决中文乱码问题
32                     filePath = new String(filePath.getBytes("UTF-8"),"ISO-8859-1");
33                     FileObject fileObject = fsManager.resolveFile(filePath);
34                     //如果文件不存在,则创建文件
35                     if(!fileObject.exists()) {
36                         fileObject.createFile();
37                     }
38                     IOUtils.write(file.getBytes(), fileObject.getContent().getOutputStream());
39                  }
40             }
41         } catch (UnsupportedEncodingException e) {
42             // TODO Auto-generated catch block
43             e.printStackTrace();
44         }catch (FileSystemException e) {
45             // TODO Auto-generated catch block
46             e.printStackTrace();
47         }catch (IOException e) {
48             // TODO Auto-generated catch block
49             e.printStackTrace();
50         }
51     }

 

apache vfs 文件上传