栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java大文件下载,工具类DiskFileItem

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java大文件下载,工具类DiskFileItem

java大文件下载,工具类DiskFileItem
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItem;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

import com.webber.cm.util.X509TrustUtil;

public class Test {

	public String uploadSource(String path,String fileName,String tempFilePath){
        InputStream is = null;
        OutputStream os = null;
        String mimeType;
        try {
            if (path.startsWith("https://")) {
                SSLContext sslcontext = SSLContext.getInstance("SSL", "SunJSSE");
                sslcontext.init(null, new TrustManager[] {new X509TrustUtil()}, new java.security.SecureRandom());
                URL url= new URL(null, path, new sun.net.www.protocol.https.Handler());
                HostnameVerifier ignoreHostnameVerifier = (s, sslSession) -> true;
                HttpsURLConnection.setDefaultHostnameVerifier(ignoreHostnameVerifier);
                HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext.getSocketFactory());
                HttpsURLConnection urlCon = (HttpsURLConnection)url.openConnection();
                urlCon.setHostnameVerifier(ignoreHostnameVerifier);
                urlCon.setSSLSocketFactory(sslcontext.getSocketFactory());
                urlCon.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
                urlCon.setConnectTimeout(60000);
                urlCon.setReadTimeout(60000);
                urlCon.setDoOutput(true);
                urlCon.setDoInput(true);
                urlCon.setUseCaches(false);
                // 设置请求方式(GET/POST)
                urlCon.setRequestMethod("GET");
                System.out.println(urlCon.getResponseMessage());
                int code = urlCon.getResponseCode();
                if (code != HttpURLConnection.HTTP_OK) {
                    throw new Exception("文件读取失败");
                }
                is = urlCon.getInputStream();
                mimeType = urlCon.getContentType();
            } else {
                URL url = new URL(path);
                URLConnection connection = url.openConnection();
                is = connection.getInputStream();
                // "image/jpeg"
                mimeType = connection.getContentType();
            }
            FileItem fileItem = new DiskFileItem("file", mimeType, true,
                    fileName, 1024 * 1024 * 3, new File(tempFilePath));
            os = fileItem.getOutputStream();
            byte[] buffer = new byte[1024];
            int len;
            while ((len = is.read(buffer)) > -1) {
                os.write(buffer, 0, len);
            }
            os.flush();

            MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
            //String fileInfo = storageService.uploadFile(multipartFile);
            return  "ok";
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if(is != null){
                    is.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                if(os != null){
                    os.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return  null;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583585.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号