版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36476972/article/details/73263991
七牛云个人信息页面找到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>