七牛---上传crc32校检说明与用法
来源:互联网 发布:张丕林 知乎 编辑:程序博客网 时间:2024/06/05 10:42
很多用户不知道怎样使用七牛的crc32校检功能,这篇文章主要介绍下crc32的作用以及使用方法。
首先关于crc32的相关概念可以参考这个文章详细介绍:CRC32
七牛这边上传设置crc32之后,上传前会先计算本地文件的crc32,然后和上传到七牛后文件的crc32进行对比,如果两者不同的话就不会保存并且会返回406:上传的数据 CRC32 校验错误。
我们不同的SDK用法都是类似的,就是在上传的时候设置checkCrc参数为true就可以了,比如java sdk里面上传的put方法里面将checkCrc设置为true就可以了:
public Response put(XXXX data, String key, String token, StringMap params,
String mime, boolean checkCrc) throws QiniuException
具体可以参考七牛这边关于设定crc32之后计算crc32以及参数传递的方法:
https://github.com/qiniu/java-sdk/blob/43713ccf93cf17fd21ddd919434e1df96d291ead/src/main/java/com/qiniu/storage/FormUploader.java#L78-L99
private void buildParams() throws QiniuException { params.put("token", token); if (key == null) { fileName = "filename"; } else { fileName = key; params.put("key", key); } if (checkCrc) { long crc32 = 0; if (file != null) { try { crc32 = Crc32.file(file); } catch (IOException e) { throw new QiniuException(e); } } else { crc32 = Crc32.bytes(data); } params.put("crc32", "" + crc32); } }
下面是关于java sdk的简单的demo:
public class UploadWithCrc32 { String ACCESS_KEY = "AK"; String SECRET_KEY = "SK"; Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY); UploadManager uploadManager = new UploadManager(); // 设置指定上传策略 public String getUpToken(){ return auth.uploadToken("phpdemo", null, 3600,null); } public void upload() throws IOException{ String FilePath = "/Users/dxy/sync/aaa.jpg"; try { //设置验证crc32 Response res = uploadManager.put(FilePath, null, getUpToken(), null, null, true); System.out.println(res.bodyString()); } catch (QiniuException e) { Response r = e.response; // 请求失败时简单状态信息 System.out.println(r.toString()); } } public static void main(String args[]) throws IOException{// //可以根据七牛的计算crc32算法打印出crc32的值// File f=new File("/Users/dxy/sync/aaa.jpg");// System.out.println(Crc32.file(f)); new UploadWithCrc32().upload(); }
1 0
- 七牛---上传crc32校检说明与用法
- Java CRC32的用法
- 关于七牛上传、下载高并发说明,以及七牛分片下载实际运用
- STM32 CRC32与对应的软件CRC32
- CRC32与md5
- crc32 算法与实现
- 七牛文件上传
- 接入七牛上传
- 七牛js上传
- 七牛上传文件
- 七牛图片上传
- crc32的用法和感触
- 七牛---Android SDK断点续传与暂停上传Demo
- 七牛---Android SDK断点续传与暂停上传Demo
- 集成七牛SDK的时候出现的错误 res_9_ninit crc32
- CRC32
- crc32
- CRC32
- sb托约束,top layGuide导致总是不能紧贴屏幕上端的问题
- 黑马程序员——多线程(下)
- iOS 推送消息的原理
- iOS-遇见的面试题总结与分析
- 常量、变量、格式化控制符和转义字符的使用规范及注意事项
- 七牛---上传crc32校检说明与用法
- 46. PHP 数据库
- C语言关于格式说明里包含回车
- mysql表类型(引擎)介绍
- C#接口的显示与隐式
- 改变webView中请求的JS数据
- Linux命令备忘实例(15)——awk(1/2)
- Android学习基本索引(三)——记录,没事自己看
- 线段树+离散化问题