利用七牛云文件图片上传
配置类编写
import com.alibaba.fastjson.JSON; import com.qiniu.common.QiniuException; import com.qiniu.http.Response; import com.qiniu.storage.BucketManager; import com.qiniu.storage.Configuration; import com.qiniu.storage.Region; import com.qiniu.storage.UploadManager; import com.qiniu.storage.model.DefaultPutRet; import com.qiniu.storage.model.FileInfo; import com.qiniu.storage.model.FileListing; import com.qiniu.util.Auth; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; @Component public class QiniuUtils { public static final String url = "http://网址"; @Value("${qiniu.accessKey}") private String accessKey; @Value("${qiniu.accessSecretKey}") private String accessSecretKey; public boolean upload(MultipartFile file,String fileName){ //构造一个带指定 Region 对象的配置类 Configuration cfg = new Configuration(Region.huadong()); //...其他参数参考类注释 UploadManager uploadManager = new UploadManager(cfg); //...生成上传凭证,然后准备上传 String bucket = "blog-chang"; //默认不指定key的情况下,以文件内容的hash值作为文件名 try { byte[] uploadBytes = file.getBytes(); Auth auth = Auth.create(accessKey, accessSecretKey); String upToken = auth.uploadToken(bucket); Response response = uploadManager.put(uploadBytes, fileName, upToken); //解析上传成功的结果 DefaultPutRet putRet = JSON.parseObject(response.bodyString(), DefaultPutRet.class); return true; } catch (Exception ex) { ex.printStackTrace(); } return false; } public void deleteAll() throws QiniuException { String bucket = "blog-chang"; Auth auth = Auth.create(accessKey, accessSecretKey); //构造一个带指定 Region 对象的配置类 Configuration cfg = new Configuration(Region.huabei()); BucketManager bucketManager = new BucketManager(auth,cfg); FileListing fileListing = bucketManager.listFiles(bucket, "/", "", 1000, ""); FileInfo[] items = fileListing.items; for (FileInfo info : items){ } } }
上传图片
@RestController @RequestMapping("/upload") public class UploadController { @Autowired private QiniuUtils qiniuUtils; @PostMapping public Result upload(@RequestParam("image")MultipartFile file){ //原始文件名称 String originalFilename = file.getOriginalFilename(); //唯一的文件名称 String fileName = UUID.randomUUID().toString() + "." + StringUtils.substringAfterLast(originalFilename,"."); //上传文件 boolean upload = qiniuUtils.upload(file, fileName); if (upload){ return Result.success(QiniuUtils.url + fileName); }else{ return Result.fail(ErrorCode.UPLOAD_Fail.getCode(),ErrorCode.UPLOAD_Fail.getMsg()); } } }
yml文件配置
qiniu:
accessKey: xxxxxxxx
accessSecretKey: xxxxxxxx

浙公网安备 33010602011771号