Skip to content

Commit 1bf3bd1

Browse files
committed
分片上传自定义变量
1 parent 465ff2f commit 1bf3bd1

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

src/main/java/com/qiniu/storage/ResumeUploader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ public void accept(String key, Object value) {
168168
b.append("/");
169169
b.append(key);
170170
b.append("/");
171-
b.append(value);
171+
b.append(UrlSafeBase64.encodeToString("" + value));
172172
}
173173
});
174174
}

src/test/java/com/qiniu/storage/ResumeUploadTest.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,35 @@
1717

1818
public class ResumeUploadTest {
1919

20+
@Test
21+
public void testXVar() throws IOException {
22+
final String expectKey = "世/界";
23+
File f = null;
24+
try {
25+
f = TempFile.createFile(1024 * 4 + 2341);
26+
} catch (IOException e) {
27+
e.printStackTrace();
28+
}
29+
assert f != null;
30+
StringMap params = new StringMap().put("x:foo", "foo_val");
31+
final String returnBody = "{\"key\":\"$(key)\",\"hash\":\"$(etag)\",\"fsize\":\"$(fsize)\""
32+
+ ",\"fname\":\"$(fname)\",\"mimeType\":\"$(mimeType)\",\"foo\":\"$(x:foo)\"}";
33+
String token = TestConfig.testAuth.uploadToken(TestConfig.bucket, expectKey, 3600,
34+
new StringMap().put("returnBody", returnBody));
35+
36+
try {
37+
UploadManager uploadManager = new UploadManager();
38+
Response res = uploadManager.put(f, expectKey, token, params, null, true);
39+
StringMap m = res.jsonToMap();
40+
assertEquals("foo_val", m.get("foo"));
41+
} catch (QiniuException e) {
42+
assertEquals("", e.response.bodyString());
43+
fail();
44+
} finally {
45+
TempFile.remove(f);
46+
}
47+
}
48+
2049
private void template(int size) throws IOException {
2150
final String expectKey = "\r\n?&r=" + size + "k";
2251
final File f = TempFile.createFile(size);

0 commit comments

Comments
 (0)