如有需要可以加我Q群【308742428】大家一起讨論技術,有償提供技術支援。
後面會不定時為大家更新文章,敬請期待。
話不多說直接上代碼:
前端這裡我是使用的layui的插件,樣式還是可以需要引入兩個檔案:
一個css樣式檔案,一個js檔案
html頁面樣式:

html代碼:
${text('圖檔')}:
上傳圖檔
清空圖檔
javascript代碼:
//清空圖檔
function resetimg(){
$('#img_imgs').empty();
$("#img").val("");
}
layui.use('upload', function(){
var $ = layui.jquery
,upload = layui.upload;
//多圖檔上傳 如何隻需要上傳單張圖檔multiple,number兩個參數去掉即可
upload.render({
elem: '#btn_imgs'
,accept: 'images'
,acceptMime: 'image
@PostMapping(value = "upload")
@ResponseBody
public Map upload(MultipartFile file) {
String fileName=null;
Map map=new HashMap<>();
try {
File f = File.createTempFile("tmp", null);
//通過MultipartFile的transferTo(File dest)這個方法來轉存檔案到指定的路徑。MultipartFile轉存後,無法再操作,會報錯
file.transferTo(f);
fileName = QiniuCloudUtil.upload(f);
fileName="http://qiniu.zenran.com/"+fileName;
System.out.println(fileName);
//在JVM程序退出的時候删除檔案,通常用在臨時檔案的删除.
f.deleteOnExit();
map.put("code",200);
map.put("url",fileName);
} catch (IOException e) {
map.put("code",500);
map.put("url",fileName);
e.printStackTrace();
}
return map;
}
QiniuCloudUtil工具類:
需要注意使用七牛雲需要下載下傳依賴包:
com.qiniu
qiniu-java-sdk
7.2.28
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
public class QiniuCloudUtil {
// 設定需要操作的賬号的AK和SK
private static final String ACCESS_KEY = "";
private static final String SECRET_KEY = "";
// 要上傳的空間名
private static final String bucketname = "";
private static final String domain = ""; //外鍊域名
// 密鑰
private static final Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
// //上傳
public static String upload(File file) throws IOException {
// 建立上傳對象,Zone*代表地區
Configuration configuration = new Configuration(Zone.zone2());
UploadManager uploadManager = new UploadManager(configuration);
try {
// 調用put方法上傳
String token = auth.uploadToken(bucketname);
if(StringUtils.isEmpty(token)) {
System.out.println("未擷取到token,請重試!");
return null;
}
String imageName = UUID.randomUUID().toString();
System.out.println("File name = "+imageName);
Response res = uploadManager.put(file,imageName,token);
// 列印傳回的資訊
if (res.isOK()){
return imageName;
}
}catch (QiniuException e) {
Response r = e.response;
// 請求失敗時列印的異常的資訊
e.printStackTrace();
System.out.println("error "+r.toString());
try {
// 響應的文本資訊
System.out.println(r.bodyString());
} catch (QiniuException e1) {
System.out.println("error "+e1.error());
}
}
return null;
}
}