TASK22224: fix downloadblob path normalization for prefixed blob names
This commit is contained in:
@@ -49,17 +49,24 @@ ApiProxy.get(async (req, res) => {
|
||||
}
|
||||
|
||||
try {
|
||||
const bloblocation =
|
||||
casefolderID + (blobName.indexOf(".json") > 0 ? "/" : "/files/");
|
||||
const decodedBlobName = decodeURI(blobName);
|
||||
const normalizedBlobName = decodedBlobName.startsWith(
|
||||
casefolderID + "/"
|
||||
)
|
||||
? decodedBlobName
|
||||
: casefolderID +
|
||||
(decodedBlobName.indexOf(".json") > 0 ? "/" : "/files/") +
|
||||
decodedBlobName;
|
||||
|
||||
const downloaded = await downloadFile(
|
||||
containerName,
|
||||
bloblocation + decodeURI(blobName)
|
||||
normalizedBlobName
|
||||
);
|
||||
const responseFileName = decodedBlobName.split("/").pop();
|
||||
|
||||
res.setHeader(
|
||||
"content-disposition",
|
||||
"attachment; filename=" + decodeURI(blobName)
|
||||
"attachment; filename=" + responseFileName
|
||||
);
|
||||
return res.status(200).send(downloaded);
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user