美文网首页
FileUpload

FileUpload

作者: G先生_海林 | 来源:发表于2019-07-18 00:07 被阅读0次
    package com.fh.util;
    
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    import org.apache.commons.io.FileUtils;
    import org.springframework.web.multipart.MultipartFile;
    
    /**
     * 上传文件
     * 创建人:FH Q
     * 创建时间:2014年12月23日
     * @version
     */
    public class FileUpload {
    
        /**上传文件
         * @param file          //文件对象
         * @param filePath      //上传路径
         * @param fileName      //文件名
         * @return  文件名
         */
        public static String fileUp(MultipartFile file, String filePath, String fileName){
            String extName = ""; // 扩展名格式:
            try {
                if (file.getOriginalFilename().lastIndexOf(".") >= 0){
                    extName = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
                }
                copyFile(file.getInputStream(), filePath, fileName+extName).replaceAll("-", "");
            } catch (IOException e) {
                System.out.println(e);
            }
            return fileName+extName;
        }
        
        /**
         * 写文件到当前目录的upload目录中
         * @param in
         * @param fileName
         * @throws IOException
         */
        private static String copyFile(InputStream in, String dir, String realName)
                throws IOException {
            File file = mkdirsmy(dir,realName);
            FileUtils.copyInputStreamToFile(in, file);
            return realName;
        }
        
        
        /**判断路径是否存在,否:创建此路径
         * @param dir  文件路径
         * @param realName  文件名
         * @throws IOException 
         */
        public static File mkdirsmy(String dir, String realName) throws IOException{
            File file = new File(dir, realName);
            if (!file.exists()) {
                if (!file.getParentFile().exists()) {
                    file.getParentFile().mkdirs();
                }
                file.createNewFile();
            }
            return file;
        }
        
        
        /**下载网络图片上传到服务器上
         * @param httpUrl 图片网络地址
         * @param filePath  图片保存路径
         * @param myFileName  图片文件名(null时用网络图片原名)
         * @return  返回图片名称
         */
        public static String getHtmlPicture(String httpUrl, String filePath , String myFileName) {
            
            URL url;                        //定义URL对象url
            BufferedInputStream in;         //定义输入字节缓冲流对象in
            FileOutputStream file;          //定义文件输出流对象file
            try {
                String fileName = null == myFileName?httpUrl.substring(httpUrl.lastIndexOf("/")).replace("/", ""):myFileName; //图片文件名(null时用网络图片原名)
                url = new URL(httpUrl);     //初始化url对象
                in = new BufferedInputStream(url.openStream());                                 //初始化in对象,也就是获得url字节流
                //file = new FileOutputStream(new File(filePath +"\\"+ fileName));
                file = new FileOutputStream(mkdirsmy(filePath,fileName));
                int t;
                while ((t = in.read()) != -1) {
                    file.write(t);
                }
                file.close();
                in.close();
                return fileName;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
            
        }
    }
    
    

    相关文章

      网友评论

          本文标题:FileUpload

          本文链接:https://www.haomeiwen.com/subject/wzbhlctx.html