腾讯云上传

参考腾讯云官方SDK文档
TCent Cloud upload所需jar包
uploadTest.java的servlet文件:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        InputStream is=null;
        FileOutputStream fos=null;
        FileItemFactory factory=new DiskFileItemFactory();
        ServletFileUpload upload=new ServletFileUpload(factory);
        upload.setHeaderEncoding("UTF-8");
        try {
            List<FileItem> list=upload.parseRequest(request);
            for(FileItem li:list) {
                //判断是否文本标签 
                if(li.isFormField()) {
                    String field=li.getFieldName();//获取标签名
                    String value=li.getString();//获取标签值
                    System.out.println(field+":"+value);
                }else {
                    //文件输入流,读取数据
                    is=li.getInputStream();
                    String filename=li.getName();//获取上传文件名

                    // 1 初始化用户身份信息(secretId, secretKey)
                    COSCredentials cred = new BasicCOSCredentials("AKIDQmwvjMt7nLjvwof2MURCrLenmZCk7MND", "oQtCPRHSUL7qTvAII8f5JMDvIfvzr9JI");
                    // 2 设置bucket的区域, COS地域的简称请参照 https://cloud.tencent.com/document/product/436/6224
                    ClientConfig clientConfig = new ClientConfig(new Region("ap-beijing"));
                    // 3 生成cos客户端
                    COSClient cosclient = new COSClient(cred, clientConfig);
                    // bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
                    String bucketName = "fcmusic-1257232059";

                    ObjectMetadata objectMetadata = new ObjectMetadata();
                    // 设置输入流长度为 500
                    objectMetadata.setContentLength(li.getSize());  
                    // 设置 Content type, 默认是 application/octet-stream
                    PutObjectResult putObjectResult = cosclient.putObject(bucketName, filename, is, objectMetadata);

                    //生成公有无时间限制的链接
                    GeneratePresignedUrlRequest req =new GeneratePresignedUrlRequest(bucketName, filename, HttpMethodName.GET);
                    URL url = cosclient.generatePresignedUrl(req);
                    System.out.println(url.toString());
                    cosclient.shutdown();

                    //生成不会重复的文件名,生成32位字符串,保证上传文件名不重复
                    /*UUID.randomUUID().toString();*/
                }
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }   finally {
            if(is!=null) {is.close();}
            if(fos!=null) {fos.close();}
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值