[
https://issues.apache.org/jira/browse/HDDS-8878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
GuoHao updated HDDS-8878:
-------------------------
Description:
When renaming a file with s3 presign url, special characters appear in garbled
code
Presign url like this:
{code:java}
http://s3endpoint/bucketname/keyname?response-content-disposition=attachment%3B%20filename%20%3D%22%E6%95%B0%E6%8D%AE%E4%BA%91%E7%9B%98%E5%8A%9F%E8%83%BD%E8%A7%A3%E8%AF%BB.pdf%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230616T093651Z&X-Amz-SignedHeaders=host&X-Amz-Expires=359999&X-Amz-Credential=ASU4JITCHORSVMEOQY9X%2F20230616%2Fozone-test%2Fs3%2Faws4_request&X-Amz-Signature=44962e707bf044e76379f445b03afefa3f31fdf72bd5d0dfd0f1c9cfd8e3ede7
{code}
I generated the download link via s3 presign url and renamed it via
response-content-disposition, if the target name has something like other
non-English content, it appears garbled.
{code:java}
GeneratePresignedUrlRequest generatePresignedUrlRequest =
new GeneratePresignedUrlRequest(bucketName, key);
generatePresignedUrlRequest
.setExpiration(new Date(System.currentTimeMillis() + 3600 * 100000));
ResponseHeaderOverrides responseHeaderOverrides =
new ResponseHeaderOverrides();
responseHeaderOverrides.setContentDisposition("attachment; filename
=\"测试.pdf\"");
generatePresignedUrlRequest.setResponseHeaders(responseHeaderOverrides);
final URL url = s3.generatePresignedUrl(generatePresignedUrlRequest);
System.out.println("get url:" + url); {code}
was:
When renaming a file with s3 presign url, special characters appear in garbled
code
Presign url like this:
[http://s3endpoint/bucketname/keyname?response-content-disposition=attachment%3B%20filename%20%3D%22%E6%95%B0%E6%8D%AE%E4%BA%91%E7%9B%98%E5%8A%9F%E8%83%BD%E8%A7%A3%E8%AF%BB.pdf%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230616T093651Z&X-Amz-SignedHeaders=host&X-Amz-Expires=359999&X-Amz-Credential=ASU4JITCHORSVMEOQY9X%2F20230616%2Fozone-test%2Fs3%2Faws4_request&X-Amz-Signature=44962e707bf044e76379f445b03afefa3f31fdf72bd5d0dfd0f1c9cfd8e3ede7]
I generated the download link via s3 presign url and renamed it via
response-content-disposition, if the target name has something like other
non-English content, it appears garbled.
{code:java}
GeneratePresignedUrlRequest generatePresignedUrlRequest =
new GeneratePresignedUrlRequest(bucketName, key);
generatePresignedUrlRequest
.setExpiration(new Date(System.currentTimeMillis() + 3600 * 100000));
ResponseHeaderOverrides responseHeaderOverrides =
new ResponseHeaderOverrides();
responseHeaderOverrides.setContentDisposition("attachment; filename
=\"测试.pdf\"");
generatePresignedUrlRequest.setResponseHeaders(responseHeaderOverrides);
final URL url = s3.generatePresignedUrl(generatePresignedUrlRequest);
System.out.println("get url:" + url); {code}
> When renaming a file with s3 presign url, special characters appear in
> garbled code
> -----------------------------------------------------------------------------------
>
> Key: HDDS-8878
> URL: https://issues.apache.org/jira/browse/HDDS-8878
> Project: Apache Ozone
> Issue Type: Bug
> Reporter: GuoHao
> Assignee: GuoHao
> Priority: Minor
>
> When renaming a file with s3 presign url, special characters appear in
> garbled code
> Presign url like this:
> {code:java}
> http://s3endpoint/bucketname/keyname?response-content-disposition=attachment%3B%20filename%20%3D%22%E6%95%B0%E6%8D%AE%E4%BA%91%E7%9B%98%E5%8A%9F%E8%83%BD%E8%A7%A3%E8%AF%BB.pdf%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230616T093651Z&X-Amz-SignedHeaders=host&X-Amz-Expires=359999&X-Amz-Credential=ASU4JITCHORSVMEOQY9X%2F20230616%2Fozone-test%2Fs3%2Faws4_request&X-Amz-Signature=44962e707bf044e76379f445b03afefa3f31fdf72bd5d0dfd0f1c9cfd8e3ede7
> {code}
>
> I generated the download link via s3 presign url and renamed it via
> response-content-disposition, if the target name has something like other
> non-English content, it appears garbled.
>
> {code:java}
> GeneratePresignedUrlRequest generatePresignedUrlRequest =
> new GeneratePresignedUrlRequest(bucketName, key);
> generatePresignedUrlRequest
> .setExpiration(new Date(System.currentTimeMillis() + 3600 * 100000));
> ResponseHeaderOverrides responseHeaderOverrides =
> new ResponseHeaderOverrides();
> responseHeaderOverrides.setContentDisposition("attachment; filename
> =\"测试.pdf\"");
> generatePresignedUrlRequest.setResponseHeaders(responseHeaderOverrides);
> final URL url = s3.generatePresignedUrl(generatePresignedUrlRequest);
> System.out.println("get url:" + url); {code}
>
>
>
>
>
>
>
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]