七牛雲個人信息頁面找到AK/SK 還有空間名稱
entity
package com.ys.entity;
public class Img {
private int id;
private String dizhi;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDizhi() {
return dizhi;
}
public void setDizhi(String dizhi) {
this.dizhi = dizhi;
}
@Override
public String toString() {
return "Img [id=" + id + ", dizhi=" + dizhi + "]";
}
}
service
package com.ys.service
import java.util.List
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service
import com.ys.entity.Img
import com.ys.mapper.ImgMapper
@Service
public class ImgService {
@Autowired
private ImgMapper mapper
public int add(Img img){
return mapper.add(img)
}
public List<Img> getAll(){
return mapper.getAll()
}
}
controller
package com.ys.controller
import java.io.IOException
import java.io.InputStream
import java.util.List
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Controller
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestMethod
import org.springframework.web.bind.annotation.ResponseBody
import org.springframework.web.multipart.MultipartFile
import org.springframework.web.servlet.ModelAndView
import com.google.gson.Gson
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.storage.model.DefaultPutRet
import com.qiniu.util.Auth
import com.ys.entity.Img
import com.ys.service.ImgService
@Controller
public class qiniuUploadTest {
//封裝 七牛雲裏的 AK/SK 存儲空間名稱
private static final String AccessKey="*****************"
private static final String SecretKey="*****************"
//外鏈地址
private static final String spaceName="*****"
//存儲空間名
private static final String bucket="****"
@Autowired
private ImgService service
//默認不指定key的情況下,以文件內容的hash值作爲文件名
String key = System.currentTimeMillis()+""
@RequestMapping(value="qiniuUploadTest",method=RequestMethod.POST)
@ResponseBody
public void qiniuUploadTest(MultipartFile file,HttpServletRequest request,HttpServletResponse response){
//根據存放的機房 選擇對象 這裏自動選擇
Configuration cfg=new Configuration(Zone.autoZone())
UploadManager uploadManager=new UploadManager(cfg)
//用戶新建
Auth auth=Auth.create(AccessKey, SecretKey)
//上傳的空間
String uploadToken=auth.uploadToken(bucket)
//開始上傳
try {
Response qiniuresponse=uploadManager.put(file.getInputStream(), key, uploadToken,null,null)
//解析上傳成功的結果
DefaultPutRet putRet=new Gson().fromJson(qiniuresponse.bodyString(), DefaultPutRet.class)
String qiniuUrl=spaceName+key
System.out.println("dizhi:"+qiniuUrl)
Img img =new Img()
img.setDizhi(qiniuUrl)
int result=service.add(img)
if(result>0){
System.out.println("成功!")
this.getListInput(request)
}else{
System.out.println("失敗!")
}
System.out.println(putRet.key)
System.out.println(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()
}
}
public String getListInput(HttpServletRequest request){
List<Img> imgList=service.getAll()
request.setAttribute("imgList", imgList)
return "/test/qiniuUploadFileList"
}
}
上傳JSP
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@include file="/jsp/common.jsp" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body style="margin:0 auto;">
<form action="${ctx }/qiniuUploadTest" method="post" enctype="multipart/form-data" >
<input type="file" name="file"/><br>
<input type="submit" value="submit">
</form>
</body>
</html>
顯示列表頁面 這裏上傳的是 MP3
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@include file="/jsp/common.jsp" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body style="margin:0 auto;">
<c:forEach items="${imgList }" var="list">
<video controls="" autoplay="" name="media">
<source src="${list.dizhi }" type="audio/mpeg">
</video>
</c:forEach>
</body>
</html>
頁面效果: