上传的图片文件在jvav web中如何更改上传后的路径

解决方案 »

  1.   

    上传时 你想传什么路径就传什么路径
    FileOutputStream fos = new FileOutputStream("D:\apache-tomcat-6.0.14\webapps\upload\12月第二周.TXT");
    你的输出流指向哪 它就流到哪
      

  2.   

    public void service(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    // 该对象提供默认配置给解析对象使用
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // 创建解析对象
    ServletFileUpload sfu = new ServletFileUpload(factory); PrintWriter out = response.getWriter();
    // 开始解析
    try {
    // sfu.setFileSizeMax(50*1024);
    // FileItem与表单域一一对应。也就是说,解析
    // 对象会将表单域中的数据封装到FileItem对象。
    List<FileItem> fileItems = sfu.parseRequest(request);
    for (int i = 0; i < fileItems.size(); i++) {
    FileItem item = fileItems.get(i);
    String type = item.getContentType();
    // isFormField为true: 说明是普通的表单域
    if (item.isFormField()) {
    String fieldName = item.getFieldName();
    String fieldValue = item.getString();
    System.out.println(fieldName + " " + fieldValue);
    } else if (type.equals("image/jpeg")
    || type.equals("image/JPEG")) { // 处理文件
    String filename = item.getName();// 获得上传文件名
    String filename2 = filename.substring(filename
    .lastIndexOf("/") + 1);
    // getRealPath(逻辑路径):获得与实际服务器对应的物理路径。
    String path = getServletContext().getRealPath("upload");
    System.out.println("f2=" + filename2);
    System.out.println("p" + path);
    File file = new File(path + "/" + filename2);
    item.write(file);
    } else {
    out.println("文件错了"); }
    }
    } catch (Exception e) {
    e.printStackTrace();
    } }以前写的一些代码 不知道对LZ有没有用
      

  3.   

    获取上传文件流后写操作是标准的输出流,比如FileOutStream,要放到目标服务器的哪里完全是你自己指定的啊
      

  4.   

    //封装文件标题请求参数的属性
     private List<String> title;
     //封装上传文件域的属性
         private List<File> upload;
     //封装上传文件类型的属性
         private List<String> uploadContentType;
     //封装上传文件名的属性
        private List<String> uploadFileName;

    @Override
    public String execute() throws Exception {
    for(int i=0;i<upload.size();i++){


     //以服务器的文件保存地址和原文件名建立上传文件输出流
      FileOutputStream fos = new FileOutputStream("D:\\share\\tuankela\\WebRoot\\image" + getUploadFileName().get(i));
      //以上传文件建立一个文件上传流
      FileInputStream fis = new FileInputStream(getUpload().get(i));
      //将上传文件的内容写入服务器
      byte[] buffer = new byte[4096];
      int len = 0;
      while ((len = fis.read(buffer)) > 0)
      {
       fos.write(buffer , 0 , len);
      }
      fis.close();
      fos.close();
    }
         return SUCCESS;
    }
    这是我写在action中的,是批量上传的,里面的路径是自己定义的,可以修改。
      

  5.   

    上传之后再改变路径?把文件复制一份到要改变的路径?
    wan
      

  6.   

    File文件类moveto方法改变文件位置