linux 运行java程序 从零开始,在java中使用七牛云实现文件云存储(一)(4)

电脑杂谈  发布时间:2017-12-18 08:07:10  来源:网络整理

domainOfBucket:你的存储空间对应的domain,可以在控制台中查看,就是下边这个。

auth:私有空间文件的访问凭证,通过getAuth()生成的值

expireInSeconds:私有空间文件的访问链接超时时间,单位(秒)

执行一下,直接在浏览器中粘贴生成的地址,看能不能访问到文件。该链接即为文件固定连接,可以放在html中的<img src=" ">中哦(公有空间),注意私有空间的地址是有寿命的。

上传文件还支持字节流、字符流上传和断点续传哦,直接上代码了:

/**
	 * 字符组上传
	 * @param zone
	 * @param upToken
	 * @return
	 */
	public static DefaultPutRet charArrayUpload(Zone zone,String upToken) {
		// 构造一个带指定Zone对象的配置类
		Configuration cfg = new Configuration(zone);
		// ...其他参数参考类注释
		UploadManager uploadManager = new UploadManager(cfg);
		// 默认不指定key的情况下,以文件内容的hash值作为文件名
		String key = null;
		try {
			byte[] uploadBytes = "hello qiniu cloud".getBytes("utf-8");

			try {
				Response response = uploadManager.put(uploadBytes, key, upToken);
				// 解析上传成功的结果
				DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
				System.out.println(putRet.key);
				System.out.println(putRet.hash);
				return putRet;
			} catch (QiniuException ex) {
				Response r = ex.response;
				System.err.println(r.toString());
				try {
					System.err.println(r.bodyString());
				} catch (QiniuException ex2) {
					// ignore
				}
			}
		} catch (UnsupportedEncodingException ex) {
			// ignore
		}
		return null;
	}

	/**
	 * 数据流上传
	 * @param zone
	 * @param upToken
	 * @return
	 */
	public static DefaultPutRet streamUpload(Zone zone,String upToken) {
		// 构造一个带指定Zone对象的配置类
		Configuration cfg = new Configuration(zone);
		// ...其他参数参考类注释
		UploadManager uploadManager = new UploadManager(cfg);
		// ...生成上传凭证,然后准备上传
		// 默认不指定key的情况下,以文件内容的hash值作为文件名
		String key = null;
		try {
			byte[] uploadBytes = "test streamUpload \n hello qiniu cloud".getBytes("utf-8");
			ByteArrayInputStream byteInputStream = new ByteArrayInputStream(uploadBytes);
			try {
				Response response = uploadManager.put(byteInputStream, key, upToken, null, null);
				// 解析上传成功的结果
				DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
				System.out.println(putRet.key);
				System.out.println(putRet.hash);
				return putRet;
			} catch (QiniuException ex) {
				Response r = ex.response;
				System.err.println(r.toString());
				try {
					System.err.println(r.bodyString());
				} catch (QiniuException ex2) {
					// ignore
				}
			}
		} catch (UnsupportedEncodingException ex) {
			// ignore
		}
		return null;
	}

	/**
	 * 断点续传
	 * @param zone
	 * @param upToken
	 * @param localFilePath
	 * @return
	 */
	public static DefaultPutRet breakPointUpload(Zone zone,String upToken,String localFilePath) {
		// 构造一个带指定Zone对象的配置类
		Configuration cfg = new Configuration(zone);
		// ...其他参数参考类注释
		// 如果是Windows情况下,格式是 D:\\qiniu\\test.png
		// 默认不指定key的情况下,以文件内容的hash值作为文件名
		String key = null;
		String localTempDir = Paths.get(System.getenv("java.io.tmpdir"), bucket).toString();
		try {
			// 设置断点续传文件进度保存目录
			FileRecorder fileRecorder = new FileRecorder(localTempDir);
			UploadManager uploadManager = new UploadManager(cfg, fileRecorder);
			try {
				Response response = uploadManager.put(localFilePath, key, upToken);
				// 解析上传成功的结果
				DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
				System.out.println(putRet.key);
				System.out.println(putRet.hash);
				return putRet;
			} catch (QiniuException ex) {
				Response r = ex.response;
				System.err.println(r.toString());
				try {
					System.err.println(r.bodyString());
				} catch (QiniuException ex2) {
					// ignore
				}
			}
		} catch (IOException ex) {
			ex.printStackTrace();
		}
		// MyPutRet myPutRet=response.jsonToObject(MyPutRet.class);
		return null;
	}

	
	public static void main(String[] args) {
		//fileUpload(Zone.zone0(),CredentialsManager.getUploadCredential(),"D:\\qiniu\\test.jpg");
		//charArrayUpload(Zone.zone0(),CredentialsManager.getUploadCredential());
		//streamUpload(Zone.zone0(),CredentialsManager.getUploadCredential());
		breakPointUpload(Zone.zone0(),CredentialsManager.getUploadCredential(),"D:\\qiniu\\test.jpg");
	}
你是否注意到了下边这个变量,


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-54170-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...