zoukankan      html  css  js  c++  java
  • java上传文件代码

    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Iterator;
    import java.util.UUID;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.MultipartHttpServletRequest;


    public class UploadUtil {

    /**
    * 上传文件
    * @param muiltRequest
    * @param path
    * @return
    * @throws IOException
    */
    public static String uploadFile(MultipartHttpServletRequest muiltRequest,
    String path) throws IOException {
    // 获取遍历文件名
    Iterator iter=muiltRequest.getFileNames();
    String url=""; //返回的图片路径
    while (iter.hasNext()) {
    MultipartFile file=muiltRequest.getFile(iter.next().toString());
    System.out.println("-->>>"+file);
    if(!file.isEmpty()||file!=null) {     //获取原始文件名
    String filename = file.getOriginalFilename();

    InputStream is = file.getInputStream(); // 获取输入流,MultipartFile中可以直接得到文件的流
    int pos = filename.lastIndexOf("."); // 取文件的格式
    //唯一标识数字
    UUID uuid = UUID.randomUUID();
    String filenameurl = path + '\' + uuid + filename.substring(pos);
    try {
    // 获取输出流
    OutputStream os = new FileOutputStream(filenameurl);
    // 创建一个缓冲区
    byte[] buffer = new byte[1024];
    // 判断输入流中的数据是否已经读完的标识
    int len = 0;
    // 循环将输入流读入到缓冲区当中,(len=is.read(buffer))>0就表示is里面还有数据
    while ((len = is.read(buffer)) > 0) {
    // 使用FileOutputStream输出流将缓冲区的数据写入到指定的目录当中
    os.write(buffer, 0, len);
    }
    os.flush();
    os.close();
    is.close();

    } catch (FileNotFoundException e) {
    e.printStackTrace();

    }
    // url = url + uuid + filename.substring(pos)+";";
    url = url + filenameurl+";";
    }
    }
    url=url.substring(0, url.length()-1);
    return url;
    }

    }

    参考:

    http://lijie-insist.iteye.com/blog/2331021

    http://www.cnblogs.com/fjsnail/p/3491033.html

  • 相关阅读:
    【剑指offer】不使用新变量,交换两个变量的值,C++实现
    【剑指offer】不用加减乘除做加法,C++实现
    【剑指offer】求1+2+…+n,C++实现
    【剑指offer】左旋转字符串,C+实现
    给记事本添加接口,并通过菜单来执行自定义的功能
    修改PE文件的入口函数OEP
    360搜集隐私程序员级分析,供方舟子及大众参考
    Android窃取用户信息新思路
    如何整治那些敢偷用你Wi-Fi的人
    保护WIFI无线网络的安全
  • 原文地址:https://www.cnblogs.com/pretty-sunshine/p/7441492.html
Copyright © 2011-2022 走看看