天天看点

七牛java上传_java上传图片到七牛云

如有需要可以加我Q群【308742428】大家一起讨论技术,有偿提供技术支持。

后面会不定时为大家更新文章,敬请期待。

话不多说直接上代码:

前端这里我是使用的layui的插件,样式还是可以需要引入两个文件:

一个css样式文件,一个js文件

html页面样式:

七牛java上传_java上传图片到七牛云

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;

}

}