java七牛云java hdfs上传文件件要如何获取进度信息

java七牛云文件上传 - 简书
java七牛云文件上传
package com.dtgy.youguoju.
import java.io.F
import java.io.FileInputS
import java.io.IOE
import java.io.InputS
import java.util.ArrayL
import java.util.A
import java.util.L
import org.apache.commons.io.IOU
import com.qiniu.common.QiniuE
import com.qiniu.http.R
import com.qiniu.storage.BucketM
import com.qiniu.storage.UploadM
import com.qiniu.storage.model.DefaultPutR
import com.qiniu.storage.model.FileI
import com.qiniu.storage.model.FileL
import com.qiniu.util.A
@ClassName: QiniuUtils
@Description: 七牛操作工具类
@author Lanxiaowei()
@date 日 上午10:56:32
public class QiniuUtils {
private static final String ACCESS_KEY = "9Z2RnhG5TeABQOchlShvXj1apSeXpJnNZSm7IEp";
private static final String SECRET_KEY = "M_M3WEMWUybEoOTEPGeef2keYzL8KVvN_KorAhN";
/* 默认上传空间 /
private static final String BUCKET_NAME = "defaultpic";// 默认到其他类中
/* 空间默认域名 */
private static final String BUCKET_HOST_NAME = "";
private static UploadManager uploadManager = new UploadManager();
private static int LIMIT_SIZE = 1000;
* @Author: Lanxiaowei()
* @Title: listBucket
* @Description: 返回七牛帐号的所有空间
* @param @return
* @param @throws QiniuException
* @return String[]
public static String[] listBucket() throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
return bucketManager.buckets();
* @Author: Lanxiaowei()
* @Title: listFileOfBucket
* @Description: 获取指定空间下的文件列表
* @param bucketName
* @param prefix
文件名前缀
* @param limit
每次迭代的长度限制,最大1000,推荐值 100[即一个批次从七牛拉多少条]
* @param @return
* @return List&FileInfo&
public static List&FileInfo& listFileOfBucket(String bucketName,
String prefix, int limit) {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
BucketManager.FileListIterator it = bucketManager
.createFileListIterator(bucketName, prefix, limit, null);
List&FileInfo& list = new ArrayList&FileInfo&();
while (it.hasNext()) {
FileInfo[] items = it.next();
if (null != items && items.length & 0) {
list.addAll(Arrays.asList(items));
* @Author: Lanxiaowei()
* @Title: uploadFile
* @Description: 七牛图片上传
* @param @param inputStream 待上传文件输入流
* @param @param bucketName 空间名称
* @param @param key 空间内文件的key
* @param @param mimeType 文件的MIME类型,可选参数,不传入会自动判断
* @param @return
* @param @throws IOException
* @return String
public static String uploadFile(InputStream inputStream, String bucketName,
String key, String mimeType) throws IOException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
String token = auth.uploadToken(bucketName);
byte[] byteData = IOUtils.toByteArray(inputStream);
Response response = uploadManager.put(byteData, key, token, null,
mimeType, false);
inputStream.close();
return response.bodyString();
* @Author: Lanxiaowei()
* @Title: uploadFile
* @Description: 七牛图片上传
* @param @param inputStream 待上传文件输入流
* @param @param bucketName 空间名称
* @param @param key 空间内文件的key
* @param @return
* @param @throws IOException
* @return String
public static String uploadFile(InputStream inputStream, String bucketName,
String key) throws IOException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
String token = auth.uploadToken(bucketName);
byte[] byteData = IOUtils.toByteArray(inputStream);
Response response = uploadManager.put(byteData, key, token, null, null,
inputStream.close();
return response.bodyString();
* @Author: Lanxiaowei()
* @Title: uploadFile
* @Description: 七牛图片上传
* @param filePath
待上传文件的硬盘路径
* @param fileName
待上传文件的文件名
* @param bucketName
* @param key
空间内文件的key
* @param @return
* @param @throws IOException
* @return String
public static String uploadFile(String filePath, String fileName,
String bucketName, String key) throws IOException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
String token = auth.uploadToken(bucketName);
InputStream is = new FileInputStream(new File(filePath + fileName));
byte[] byteData = IOUtils.toByteArray(is);
Response response = uploadManager.put(byteData,
(key == null || "".equals(key)) ? fileName : key, token);
is.close();
return response.bodyString();
* @Author: Lanxiaowei()
* @Title: uploadFile
* @Description: 七牛图片上传[若没有指定文件的key,则默认将fileName参数作为文件的key]
* @param filePath
待上传文件的硬盘路径
* @param fileName
待上传文件的文件名
* @param bucketName
* @param @return
* @param @throws IOException
* @return String
public static String uploadFile(String filePath, String fileName,
String bucketName) throws IOException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
String token = auth.uploadToken(bucketName);
InputStream is = new FileInputStream(new File(filePath + fileName));
byte[] byteData = IOUtils.toByteArray(is);
Response response = uploadManager.put(byteData, fileName, token);
is.close();
return response.bodyString();
* @throws QiniuException
* @Author: Lanxiaowei()
* @Title: fetchToBucket
* @Description: 提取网络资源并上传到七牛空间里
* @param url
网络上一个资源文件的URL
* @param bucketName
* @param key
空间内文件的key[唯一的]
* @param @return
* @return String
public static String fetchToBucket(String url, String bucketName, String key)
throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
DefaultPutRet putret = bucketManager.fetch(url, bucketName, key);
return putret.
* @Author: Lanxiaowei()
* @Title: fetchToBucket
* @Description: 提取网络资源并上传到七牛空间里,不指定key,则默认使用url作为文件的key
* @param url
* @param bucketName
* @param @return
* @param @throws QiniuException
* @return String
public static String fetchToBucket(String url, String bucketName)
throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
DefaultPutRet putret = bucketManager.fetch(url, bucketName);
return putret.
* @throws QiniuException
* @Author: Lanxiaowei()
* @Title: copyFile
* @Description: 七牛空间内文件复制
* @param bucket
源空间名称
* @param key
源空间里文件的key(唯一的)
* @param targetBucket
* @param targetKey
目标空间里文件的key(唯一的)
* @return void
public static void copyFile(String bucket, String key, String targetBucket,
String targetKey) throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
bucketManager.copy(bucket, key, targetBucket, targetKey);
* @Author: Lanxiaowei()
* @Title: moveFile
* @Description: 七牛空间内文件剪切
* @param bucket
源空间名称
* @param key
源空间里文件的key(唯一的)
* @param targetBucket
* @param targetKey
目标空间里文件的key(唯一的)
* @param @throws QiniuException
* @return void
public static void moveFile(String bucket, String key, String targetBucket,
String targetKey) throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
bucketManager.move(bucket, key, targetBucket, targetKey);
* @Author: Lanxiaowei()
* @Title: renameFile
* @Description: 七牛空间内文件重命名
* @param bucket
* @param key
* @param targetKey
* @param @throws QiniuException
* @return void
public static void renameFile(String bucket, String key, String targetKey)
throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
bucketManager.rename(bucket, key, targetKey);
* @Author: Lanxiaowei()
* @Title: deleteFile
* @Description: 七牛空间内文件删除
* @param bucket
* @param key
空间内文件的key[唯一的]
* @param @throws QiniuException
* @return void
public static void deleteFile(String bucket, String key)
throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
bucketManager.delete(bucket, key);
* @Author: Lanxiaowei()
* @Title: findFiles
* @Description: 返回指定空间下的所有文件信息
* @param @param bucketName 空间名称
* @param @param prefix 文件key的前缀
* @param @param limit 批量提取的最大数目
* @param @return
* @param @throws QiniuException
* @return FileInfo[]
public static FileInfo[] findFiles(String bucketName, String prefix,
int limit) throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
FileListing listing = bucketManager.listFiles(bucketName, prefix, null,
limit, null);
if (listing == null || listing.items == null
|| listing.items.length &= 0) {
return listing.
* @Author: Lanxiaowei()
* @Title: findFiles
* @Description: 返回指定空间下的所有文件信息
* @param @param bucketName 空间名称
* @param @param prefix 文件key的前缀
* @param @return
* @param @throws QiniuException
* @return FileInfo[]
public static FileInfo[] findFiles(String bucketName, String prefix)
throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
FileListing listing = bucketManager.listFiles(bucketName, prefix, null,
LIMIT_SIZE, null);
if (listing == null || listing.items == null
|| listing.items.length &= 0) {
return listing.
* @Author: Lanxiaowei()
* @Title: findFiles
* @Description: 返回指定空间下的所有文件信息
* @param @param bucketName
* @param @param key
* @param @return
* @param @throws QiniuException
* @return FileInfo[]
public static FileInfo[] findFiles(String bucketName) throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
FileListing listing = bucketManager.listFiles(bucketName, null, null,
LIMIT_SIZE, null);
if (listing == null || listing.items == null
|| listing.items.length &= 0) {
return listing.
* @Author: Lanxiaowei()
* @Title: findOneFile
* @Description: 返回指定空间下的某个文件
* @param @param bucketName
* @param @param key
* @param @param limit
* @param @return
* @param @throws QiniuException
* @return FileInfo
public static FileInfo findOneFile(String bucketName, String key, int limit)
throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
FileListing listing = bucketManager.listFiles(bucketName, key, null,
limit, null);
if (listing == null || listing.items == null
|| listing.items.length &= 0) {
return (listing.items)[0];
* @Author: Lanxiaowei()
* @Title: findOneFile
* @Description: 返回指定空间下的某个文件(重载)
* @param @param bucketName
* @param @param key
* @param @return
* @param @throws QiniuException
* @return FileInfo
public static FileInfo findOneFile(String bucketName, String key)
throws QiniuException {
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
BucketManager bucketManager = new BucketManager(auth);
FileListing listing = bucketManager.listFiles(bucketName, key, null,
LIMIT_SIZE, null);
if (listing == null || listing.items == null
|| listing.items.length &= 0) {
return (listing.items)[0];
* @Author: Lanxiaowei()
* @Title: getFileAccessUrl
* @Description: 返回七牛空间内指定文件的访问URL
* @param @param key
* @param @return
* @param @throws QiniuException
* @return String
public static String getFileAccessUrl(String key) throws QiniuException {
return BUCKET_HOST_NAME + "/" +
public static void main(String[] args) throws IOException {
// uploadFile("C:/test.jpg");
* String[] buckets = listBucket(); for(String bucket : buckets) {
* System.out.println(bucket); }
* List&FileInfo& list = listFileOfBucket(BUCKET_NAME, null, 1000);
* for(FileInfo fileInfo : list) { System.out.println("key:" +
* fileInfo.key); System.out.println("hash:" + fileInfo.hash);
* System.out.println("................"); }
// copyFile(BUCKET_NAME, "images-test", BUCKET_NAME,
// "images-test-1111");
// renameFile(BUCKET_NAME, "images-test-1111", "images-test-2222.jpg");
// deleteFile(BUCKET_NAME, "images-test-2222.jpg");
// fetchToBucket("http://www.nanrenwo.net/uploads/allimg/-1210261JJD03.jpg",
// BUCKET_NAME,"1111.jpg");
FileInfo[] fileInfos = findFiles(BUCKET_NAME, "10", LIMIT_SIZE);
for (FileInfo fileInfo : fileInfos) {
System.out.println(fileInfo.key);
System.out.println(fileInfo.hash);
System.out.println("..............");
* 删除七牛上的文件
* @param path
数据库中文件的路径
* @param space 所存空间名称
public boolean deleteImageFromQiNiu(String path, String space) {
if (!path.isEmpty()) {
String[] split = path.split(".com/");
if (split.length&=2) {
FileInfo findOneFile=
try {//查询云端是否有该文件
findOneFile = QiniuUtils.findOneFile(space,split[1]);
} catch (QiniuException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
if (findOneFile!=null) {//删除云端文件
//.deleteFile(空间名, 文件名);
QiniuUtils.deleteFile(space, split[1]);
//结束返回成功
} catch (QiniuException e) {
// TODO Auto-generated catch block
e.printStackTrace();
//出现异常返回fase
//如果七牛中没有该图片则返回成功
//如果截取的数组小于2则是无效数据返回成功
//如果数据库中存储的问空则直接返回成功
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io的语法,虚拟机方面的语法。 1、一个&.java&源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个publ...
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java.base.jmod|wc -l5761 classes/module-info.classclasses/appl...
Java 基础思维导图,让 Java 不再难懂 - 工具资源 - 掘金思维导图的好处 最近看了一些文章的思维导图,发现思维导图真是个强大的工具。了解了思维导图的作用之后,觉得把它运用到java上应该是个不错的想法,这样回顾知识点的时候一目了然,快速知道自己的短板。 思维导图...
百战程序员_ Java1573题 QQ群:034603 掌握80%年薪20万掌握50%年薪10万 全程项目穿插, 从易到难,含17个项目视频和资料持续更新,请关注www.itbaizhan.com 国内最牛七星级团队马士兵、高淇等11位十年开发经验专...
2015年6月中旬到7月中旬,我带着两岁儿子洋洋去韩国济州岛旅行了一个月,这是记录当时点点滴滴的旅行散文. 1. 明天我们就要出发了 旅行总是充满变数。这次去济州岛旅行也是。 自从6月初开始韩国Mers(中东呼吸综合症)疫情爆发之后,截至到6月13日确诊患者达到138名,死...
太白曾有叹,蜀道险且艰。 我言世道难,徒手登长天。 邈邈茫茫复迢迢, 空梦云梯无勾连。 未曾涉足已汗颜, 余悸惊心不敢攀。 纵有苍隼逆风起, 中道折翼再而三。 况复燕雀循檐下, 羽落纷纷振翅难。 君不见东水滔滔争入海, 哀雁声声竞飞南。 韶华一逝如朝露, 镜中霜鬓苦遮掩。 ...
汇总区: 一组共11人 应交作业人数11人,准时提交人数11人 应点评人数11人,准时点评人数11人。 最佳文章: 曹俊男《学习笔记》 展览区: (排序按提交在一组群的先后顺序) 1、谭玲玲 《如何打造个人品牌?》 2、王小雨 《无人“问荆”的杂草“杉菜”》 3、曹俊男 《...
那是七十多年前了,白流苏离婚八年了,第一次坐船从上海到香港。 “那是个热辣辣的下午,望过去最触目的便是马头上围列着的巨型广告处于,红的,橘红的,粉红的,倒映在绿油油的海水里,一条条,一抹抹刺激性的犯冲的色素,窜上落下,在水底下厮杀的异常热闹。”23岁的张爱玲在《倾城之恋》里...java对七牛云对象存储文件上传的简单操作讲解
java对七牛云对象存储文件上传的简单操作讲解
1.首先要有账号并完成身份证认证,登陆控制台
2.选择添加对象存储
3.名字自己起吧,存储区域随便,本章测试的是公开空间
4.获得秘钥Sk 和Ak 一会代码用
5.目录结构
6.Test.java
import org.json.JSONE
import com.qiniu.api.auth.AuthE
import com.qiniu.api.auth.digest.M
import com.qiniu.api.config.C
import com.qiniu.api.io.IoA
import com.qiniu.api.io.PutE
import com.qiniu.api.io.PutR
import com.qiniu.api.rs.PutP
public class Test {
public static void main(String[] args) throws AuthException, JSONException{
//这里填写ak 第4步有
Config.ACCESS_KEY = &&;
////这里填写sk 第4步有
Config.SECRET_KEY = &&;
Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);
// 请确保该bucket已经存在 意思是你创建云存储名称第3步第一个名字
String bucketName = &&;
PutPolicy putPolicy = new PutPolicy(bucketName);
String uptoken = putPolicy.token(mac);
PutExtra extra = new PutExtra();
String key = &&;//这里是文件名 (存入七牛云文件的最终名字)
String localFile = &C:\\Users\\Administrator\\Desktop\\ccd.txt&;//这里是你本地的文件路径
PutRet ret = IoApi.putFile(uptoken, key, localFile, extra);
System.out.println(&success&);//控制台提示(这是我自己写的)
7.成功如下
8.公网访问地址
通过上面的外链接就可以访问了,有问题欢迎留言!!java web文件上传如何拿到文件进度?基于html5的
[问题点数:20分,结帖人u]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:1077
本版专家分:0
本版专家分:0
本版专家分:1077
本版专家分:12048
本版专家分:269
本版专家分:0
本版专家分:0
本版专家分:12048
匿名用户不能发表回复!|
其他相关推荐404 Not Found
The requested URL /q/2935/ was not found on this server.从HelloWorld到改变世界!
java上传文件到七牛云中
一、加载七牛云SDK
七牛云SDK --&
&dependency&
&groupId&com.qiniu&/groupId&
&artifactId&qiniu-java-sdk&/artifactId&
&version&[7.2.0, 7.2.99]&/version&
&/dependency&二、java代码
package com.lei.
import com.qiniu.util.A
import java.io.IOE
import com.qiniu.common.QiniuE
import com.qiniu.http.R
import com.qiniu.storage.C
import com.qiniu.storage.UploadM
public class QiNiuFileUpUtil {
/**基本配置-从七牛管理后台拿到*/
//设置好账号的ACCESS_KEY和SECRET_KEY
String ACCESS_KEY = "AK";
String SECRET_KEY = "SK";
//要上传的空间名--
String bucketname = "空间名";
/**指定保存到七牛的文件名--同名上传会报错
{"error":"file exists"}*/
/** {"hash":"FrQF5eX_kNsNKwgGNeJ4TbBA0Xzr","key":"aa1.jpg"} 正常返回 key为七牛空间地址 http:/xxxx.com/aa1.jpg */
//上传文件的路径
String FilePath ="D:\\1.png";
//上传到七牛后保存的文件名
访问为:http://oswj11a86.bkt.clouddn.com/daimo6.png
String key = "daimo6.png";
//密钥配置
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
//创建上传对象
UploadManager uploadManager =new UploadManager(new Configuration());
//简单上传,使用默认策略,只需要设置上传的空间名就可以了
public String getUpToken(){
return auth.uploadToken(bucketname);
public void upload() throws IOException{
//调用put方法上传
Response res = uploadManager.put(FilePath, key, getUpToken());
//打印返回的信息
System.out.println(res.bodyString());
System.out.println(res.statusCode);//200为上传成功
} catch (QiniuException e) {
Response r = e.
// 请求失败时打印的异常的信息
System.out.println(r.toString());
//响应的文本信息
System.out.println(r.bodyString());
} catch (QiniuException e1) {
public static void main(String args[]) throws IOException{
new QiNiuFileUpUtil().upload();
三、上传成功输出内容
扫码向博主提问
从HelloWorld到改变世界!
擅长领域:
python爬虫
Java--七牛云存储图片示例
使用java上传图片到七牛云
上传文件到七牛云存储的demo
七牛云存储之 Java SDK 简单上传
七牛云存储的 Javascript Web 前端文件上传
将文件上传到七牛—Android
七牛云开发-简单的文件上传
七牛图片上传的使用心得
七牛云文件上传
七牛上传文件(JS实现)
没有更多推荐了,}

我要回帖

更多关于 javaweb上传文件至数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信