封装工具
import com.qiniu.storage.Region;
import org.springframework.web.multipart.MultipartFile;
import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
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 java.io.*;
public class FileUtils {
private static final String ACCESS_KEY = "Ak";
private static final String SECRET_KEY = "Sk";
private static final String BUCKET = "空间";
private static final String BASE_URL = "http://url/";
private static UploadManager uploadManager;
private FileUtils() {
Configuration config = new Configuration(Region.region1());
uploadManager = new UploadManager(config);
}
private static UploadManager getInstance() {
if (uploadManager == null) {
new FileUtils();
}
return uploadManager;
}
public static String getToken() {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
String upToken = auth.uploadToken(BUCKET);
System.out.println(upToken);
return upToken;
}
public static String upLoad(MultipartFile file) {
String key = System.currentTimeMillis()+file.getOriginalFilename();
String url="";
try {
InputStream inputStream = file.getInputStream();
Response response = getInstance().put(inputStream, key, getToken(), null, null);
try {
DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
System.out.println(putRet.key);
System.out.println(putRet.hash);
url = BASE_URL+putRet.hash;
} catch (QiniuException e) {
Response r = e.response;
System.err.println(r.toString());
try {
System.err.println(r.bodyString());
} catch (QiniuException ex2) {
}
}
} catch (IOException e) {
e.printStackTrace();
}
return url;
}
}
调用工具
package com.zml.letui.letui.controller;
import com.zml.letui.letui.utils.FileUtils;
import com.zml.letui.letui.utils.Result;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping(value = "/file/upload")
public class ToolController {
@PostMapping(value = "/file")
public Result file(@RequestParam("file") MultipartFile file){
return Result.ok("filePath",FileUtils.upLoad(file));
}
@PostMapping(value = "/uploadfiles")
public Result fileS(HttpServletRequest request){
List successUploadFiles=new ArrayList();
List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
List<String> list=new ArrayList<>();
for (MultipartFile m:files) {
list.add(FileUtils.upLoad(m));
}
return Result.ok("filePath",list);
}
}