我重复上传同一张图片到七牛,空间内图片会被覆盖,表现出来的是文件名相同,单最后更新时间会变,相关上传配置如下:
1 采用表单直接上传
form表单只使用了token:<input name="token" type="hidden" value=${uptoken} />
2 token生成采用returnUrl和returnBody,设置如下:
Mac mac = new Mac(Config.ACCESS_KEY, Config.SECRET_KEY);
String bucketName = "test";
PutPolicy putPolicy = new PutPolicy(bucketName);
putPolicy.returnUrl = "http://aa.bbb.com/callBack";
putPolicy.returnBody = "{"
+ "\"fname\":$(fname),"
+ "\"fsize\":$(fsize),"
+ "\"w\":$(imageInfo.width),"
+ "\"h\":$(imageInfo.height),"
+ "\"hash\":$(etag),"
+ "\"bucket\":$(bucket)"
+ "}";
putPolicy.insertOnly = 1;
putPolicy.deadline = 5*60;
String uptoken = null;
try {
uptoken = putPolicy.token(mac);
} catch (AuthException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
看文档上说insertOnly设置为非0,会新增文件,但实际情况却是覆盖,请问阿牛,是我哪里设置的不对吗?
谢谢!
确实是这样的,如果文件内容相同,那么会提示上传成功,并且更新putTime。
如果新文件与原文件内容不一致,则返回614,并提示file exists