博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七牛云之上传demo
阅读量:5911 次
发布时间:2019-06-19

本文共 2250 字,大约阅读时间需要 7 分钟。

package com.zns.controller;import com.google.gson.Gson;import com.qiniu.common.Zone;import com.qiniu.http.Response;import com.qiniu.storage.Configuration;import com.qiniu.storage.UploadManager;import com.qiniu.storage.model.DefaultPutRet;import com.qiniu.util.Auth;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import java.io.FileInputStream;import java.util.UUID;@RequestMapping("/qiniu")@Controllerpublic class QiNiuController {    private String accessKey = "";    private String secretKey = "";    private String bucketName = "";    private String fileDomain = "file.zns.com";    private String fileDir = "/blog/article/thumbnail/";    @RequestMapping("/upload")    @ResponseBody    public String upload(@RequestParam("file1") MultipartFile file) {        if (file.isEmpty()) {            return "请选择文件";        }        try {            FileInputStream fileInputStream = (FileInputStream) file.getInputStream();            // 构造一个带指定Zone对象的配置类            Configuration cfg = new Configuration(Zone.zone0());            // 其他参数参考类注释            UploadManager uploadManager = new UploadManager(cfg);            // 生成上传凭证,然后准备上传            Auth auth = Auth.create(accessKey, secretKey);            String upToken = auth.uploadToken(bucketName);            String originalFilename = file.getOriginalFilename();            String fileExtend = originalFilename.substring(originalFilename.lastIndexOf("."));            //默认不指定key的情况下,以文件内容的hash值作为文件名            String key = fileDir + UUID.randomUUID().toString().replace("-", "") + fileExtend;            Response response = uploadManager.put(fileInputStream, key, upToken, null, null);            // 解析上传成功的结果            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);            String returnPath = fileDomain + "/" + putRet.key;            return returnPath;        } catch (Exception e) {            e.printStackTrace();            return "上传失败";        }    }}

 

转载于:https://www.cnblogs.com/zengnansheng/p/10404768.html

你可能感兴趣的文章
判断一个字符是否为数字的两种方法(C/C++)
查看>>
600. Non-negative Integers without Consecutive Ones
查看>>
axios 拦截 , 页面跳转, token 验证(自己摸索了一天搞出来的)
查看>>
区块链初始化与实现POW工作量证明
查看>>
C++的Json解析库:jsoncpp和boost .
查看>>
如何将经纬度利用Google Map API显示C# VS2005 Sample Code
查看>>
基于html5 canvas和js实现的水果忍者网页版
查看>>
Android 知识梳理
查看>>
【反射】使用反射来获取注解原数据信息-类信息-方法信息等
查看>>
如何合理的规划jvm性能调优
查看>>
莫比乌斯反演初步与实际应用
查看>>
开发人员可以提高效率的chrome插件推荐
查看>>
1.4.运维平台之硬件CMDB
查看>>
性能测试分享:性能测试工具开发的案例分享(下)
查看>>
微信小程序如何像webview一样加载html5网页
查看>>
apache和nginx的区别
查看>>
CentOs6.5系统下MySQL-5.7.19安装
查看>>
ms sql convert的使用细节
查看>>
精通Java设计模式从初见到相爱之命令设计模式(15)
查看>>
linux sar命令详解
查看>>