Hi everyone,
I am facing an issue with bad filename encoding while posting attachment to an issue.
The code I use:
def attachmentContentData = get("/rest/api/3/attachment/content/10078") // get attachment binary data
.asBinary()
.body
InputStream stream = new ByteArrayInputStream(attachmentContentData.getBytes()) // create binary stream
def attachmentMetadata = get("/rest/api/3/attachment/10078") // get attachment metadata
.asObject(Map)
.body
String fileName = attachmentMetadata["filename"] // define filename as String
def sendAttachment = post("/rest/api/3/issue/XXX-77/attachments") // send attachment
.header("Accept", "application/json")
.header("X-Atlassian-Token", "no-check")
.field("file", stream, fileName)
.asJson()
println sendAttachment
Response:
Body: [{"self":"https://myjirasite.atlassian.net/rest/api/3/attachment/10197","id":"10197","filename":"?RA-obr?zek.png","author":...
When the attachment's filename contains non ASCII characters, the characters are changed into the question marks, eg. "?esk?_Republika.png" vs. "Česká_Republika.png".
The problem probably arises when json is created.
When I
println fileName
it correctly returns "Česká_Republika.png".
I tried as much options to fix the issue as I could, including various ways of string transcoding.
Thank you in advance for your help.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.