Skip to content

Commit 28f4d3e

Browse files
author
YangSen-qn
committed
upload gzip
1 parent e54e03e commit 28f4d3e

File tree

2 files changed

+36
-2
lines changed

2 files changed

+36
-2
lines changed

library/src/main/java/com/qiniu/android/collect/Config.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public final class Config {
1313
/**
1414
* 上传信息收集文件的地址
1515
*/
16-
public final static String serverURL = "https://uplog.qbox.me/log/4";
16+
public final static String serverURL = "https://uplog.qbox.me/log/4?compressed=gzip";
1717
/**
1818
* 是否记录上传状态信息。 true 表示记录,false 表示不记录。
1919
* <p>

library/src/main/java/com/qiniu/android/collect/UploadInfoCollector.java

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
import com.qiniu.android.http.UserAgent;
44
import com.qiniu.android.storage.UpToken;
5+
import com.qiniu.android.utils.GZipUtil;
56

67
import java.io.File;
78
import java.io.FileNotFoundException;
89
import java.io.FileOutputStream;
910
import java.io.IOException;
11+
import java.io.RandomAccessFile;
1012
import java.nio.charset.Charset;
1113
import java.util.Date;
1214
import java.util.concurrent.ExecutorService;
@@ -241,9 +243,17 @@ private void tryUploadAndClean(final UpToken upToken, File recordFile) {
241243

242244
//同步上传
243245
private boolean upload(final UpToken upToken, File recordFile) {
246+
247+
byte[] logData = getLogData(recordFile);
248+
logData = GZipUtil.gZip(logData);
249+
if (logData == null || logData.length == 0){
250+
return false;
251+
}
252+
244253
try {
254+
245255
OkHttpClient client = getHttpClient();
246-
RequestBody reqBody = RequestBody.create(MediaType.parse("text/plain"), recordFile);
256+
RequestBody reqBody = RequestBody.create(MediaType.parse("text/plain"), logData);
247257

248258
Request.Builder requestBuilder = new Request.Builder().url(serverURL).
249259
addHeader("Authorization", "UpToken " + upToken.token).
@@ -271,6 +281,30 @@ private boolean upload(final UpToken upToken, File recordFile) {
271281
}
272282
}
273283

284+
private byte[] getLogData(File recordFile){
285+
if (recordFile == null || recordFile.length() == 0){
286+
return null;
287+
}
288+
289+
long length = recordFile.length();
290+
RandomAccessFile randomAccessFile = null;
291+
byte[] data = null;
292+
try {
293+
randomAccessFile = new RandomAccessFile(recordFile, "r");
294+
data = new byte[(int)length];
295+
randomAccessFile.read(data);
296+
} catch (FileNotFoundException ignored) {
297+
} catch (IOException e) {
298+
data = null;
299+
}
300+
if (randomAccessFile != null){
301+
try {
302+
randomAccessFile.close();
303+
} catch (IOException e){}
304+
}
305+
return data;
306+
}
307+
274308
private boolean isOk(Response res) {
275309
return res.isSuccessful() && res.header("X-Reqid") != null;
276310
}

0 commit comments

Comments
 (0)