Recent searches
No recent searches

Marcus Dawideit
Joined Jan 19, 2023
·
Last activity May 27, 2024
Following
0
Followers
0
Total activity
7
Votes
0
Subscriptions
3
ACTIVITY OVERVIEW
BADGES
ARTICLES
POSTS
COMMUNITY COMMENTS
ARTICLE COMMENTS
ACTIVITY OVERVIEW
Latest activity by Marcus Dawideit
Marcus Dawideit created a post,
Good morning,
I have a strange behaviour when uploading files via API. If I use Zendesk own ZAF client for my request then the uploaded PDF is corrupt, if the upload is made via a JQuery request, for example, then the file is OK.
Source with Client.Request / Corrupt Upload File
async function fetchFile(fileUrl, fileName, filecontentType) {
try {
const blobResponse = await $.ajax({
url: fileUrl,
method: 'GET',
xhrFields: {
responseType: 'blob'
}
});
var formData = new FormData();
formData.append('file', blobResponse, fileName);
const options = {
url: '/api/v2/uploads.json?filename=' + encodeURIComponent(fileName),
type: 'POST',
processData: false,
contentType: false,
headers: {
'Content-Type': filecontentType
},
data: formData
};
const response = await client.request(options);
if (typeof response === 'string') {
responseData = JSON.parse(response);
} else {
responseData = response;
}
return responseData.upload.token;
} catch (error) {
console.error('Fehler beim Senden der Anfrage an den Server:', error);
if (error.response) {
console.error('Response data:', error.response.data);
}
}
}
The same source with Upload via Jquery / Upload File OK
async function fetchFile(fileUrl, fileName, filecontentType) {
try {
const blobResponse = await $.ajax({
url: fileUrl,
method: 'GET',
xhrFields: {
responseType: 'blob'
}
});
var formData = new FormData();
formData.append('file', blobResponse, fileName);
const options = {
url: 'https://.zendesk.com/api/v2/uploads.json?filename=' + encodeURIComponent(fileName),
type: 'POST',
processData: false,
contentType: false,
headers: {
'Content-Type': filecontentType,
'Authorization': 'Basic ' + btoa(zendeskEmail + '/token:' + zendeskApiToken)
},
data: formData
};
const response = await $.ajax(options);
if (typeof response === 'string') {
responseData = JSON.parse(response);
} else {
responseData = response;
}
return responseData.upload.token;
} catch (error) {
console.error('Fehler beim Senden der Anfrage an den Server:', error);
if (error.response) {
console.error('Response data:', error.response.data);
}
}
}
Does anyone have any idea what the problem might be? I am grateful for the advice !
Thanks in advance,
Marcus
Posted May 27, 2024 · Marcus Dawideit
0
Followers
1
Vote
1
Comment
Marcus Dawideit commented,
Hello,
are there any new findings? I am facing the same problem, all files except PDF are displayed as corrupt.
Thanks
Marcus
View comment · Posted May 27, 2024 · Marcus Dawideit
0
Followers
0
Votes
0
Comments
Marcus Dawideit commented,
Hello,
With the example from above and the current attachment token I always get the following error message back:
{
"error": "RecordInvalid",
"description": "Record validation errors",
"details": {
"base": [
{
"description": "Uploads is invalid"
}
]
}
}
API Request:
{
"ticket": {
"comment": { "body": "See PDF.", "uploads": ["i2duiFM7GNcgJxo48HJWJFoA1"] }
}
}
Any recommondations or advices ?
Thanks !
Best regards,
Marcus
View comment · Edited Apr 26, 2023 · Marcus Dawideit
0
Followers
0
Votes
0
Comments
Marcus Dawideit commented,
Hi Ken,
In the meantime, have you found a solution ? I´m stucking at the same.
Best regards,
Marcus
View comment · Posted Apr 26, 2023 · Marcus Dawideit
0
Followers
0
Votes
0
Comments