Content-Dispositionのデコード例
なにやってるのかわからんコード
let headerLine = axiosResponse.headers['Content-Disposition'] || axiosResponse.headers['content-disposition'];
const fnameArr = headerLine.split(';');
let filename = fnameArr[fnameArr.length - 1].split('=')[1].replace('"', '').replace('"', '');
if (filename.indexOf(utf8Name) !== -1) {
filename = decodeURI(filename.replace(utf8Name, ''));
}
return filename
リーダブルなコード
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
var matches = filenameRegex.exec(res.headers["content-disposition"]);
if (matches != null && matches[1]) {
fileName = matches[1].replace(/['"]/g, '');
}
return filename