下载到本地文件
本文档介绍如何将OSS文件下载到本地。
以下代码用于把指定的OSS文件下载到本地文件:
public void testDownloadObjectToFile() throws Exception {
// upload file
PutObjectRequest put = new PutObjectRequest(mBucketName, "file1m",
OSSTestConfig.FILE_DIR + "file1m");
OSSTestConfig.TestPutCallback putCallback = new OSSTestConfig.TestPutCallback();
String srcFileBase64Md5 = BinaryUtil.toBase64String(BinaryUtil.calculateMd5(OSSTestConfig.FILE_DIR + "file1m"));
OSSAsyncTask putTask = oss.asyncPutObject(put, putCallback);
putTask.waitUntilFinished();
assertEquals(200, putCallback.result.getStatusCode());
// download object to file
GetObjectRequest get = new GetObjectRequest(mBucketName, "file1m");
OSSTestConfig.TestGetCallback getCallback = new OSSTestConfig.TestGetCallback();
OSSAsyncTask getTask = oss.asyncGetObject(get, getCallback);
getTask.waitUntilFinished();
assertEquals(200, getCallback.result.getStatusCode());
long length = getCallback.result.getContentLength();
byte[] buffer = new byte[(int) length];
int readCount = 0;
while (readCount < length) {
readCount += getCallback.result.getObjectContent().read(buffer, readCount, (int) length - readCount);
}
try {
FileOutputStream fout = new FileOutputStream(OSSTestConfig.FILE_DIR + "download_file1m");
fout.write(buffer);
fout.close();
} catch (Exception e) {
OSSLog.logInfo(e.toString());
}
String downloadFileBase64Md5 = BinaryUtil.toBase64String(BinaryUtil.calculateMd5(OSSTestConfig.FILE_DIR + "download_file1m"));
assertEquals(srcFileBase64Md5, downloadFileBase64Md5);
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论