七牛上传,选获取一个accessKey,seretKey,然后通过七牛API得到一个token,
// 获取token
Auth auth = Auth.create(accessKey, secretKey);
String token = auth.uploadToken(bucket);
// 上传代码
public String uploadFile(String fileName, byte[] bytes) {
// 获取token
String token = auth.uploadToken(bucket);
UploadManager uploadManager = new UploadManager();
try {
Response response = uploadManager.put(bytes, this.createImageId(fileName), token);
if (response.isOK()) {
StringMap stringMap = response.jsonToMap();
return stringMap.get("key").toString();
}
} catch (QiniuException e) {
throw new RuntimeException(e);
}
return null;
}
// 由于七牛云不支持文件名重复,所以上传时候要注意
public static String createImageId(String fileName){
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = df.format(c.getTime());
String imageId = formattedDate + "/" + fileName + getRandomString(10) + ".jpg";
return imageId;
}
private static String getRandomString(final int sizeOfRandomString) {
final Random random = new Random();
final StringBuilder sb = new StringBuilder(sizeOfRandomString);
for (int i = 0; i < sizeOfRandomString; ++i)
sb.append(ALLOWED_CHARACTERS.charAt(random.nextInt(ALLOWED_CHARACTERS.length())));
return sb.toString();
}
private static final String ALLOWED_CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";