fix : 파일 다운로드 fix

dev
이범준 5 months ago
parent fd40fa86a1
commit cf2a88ade8

@ -477,13 +477,13 @@
if($P.fileInfos.length > 0){ if($P.fileInfos.length > 0){
let promiseArr = []; let promiseArr = [];
// URL에 c: d: 제거
$P.fileInfos.forEach(f => { $P.fileInfos.forEach(f => {
// FIXME: URL에 c: d: 제거 ??? // URL에 c: d: 제거
// if(f.URL){ if(/^[a-zA-Z][\:]/.test(f.URL)){
// f.URL = f.URL.toLowerCase().replace(/c:/g, ""); f.URL = f.URL.substring(2);
// f.URL = f.URL.toLowerCase().replace(/d:/g, ""); }
// }
try{ try{
fnCreateFileFromFileInfo(f) fnCreateFileFromFileInfo(f)
promiseArr.push(fnCreateFileFromFileInfo(f)); promiseArr.push(fnCreateFileFromFileInfo(f));
@ -497,8 +497,9 @@
$P.fileArr = $P.fileArr.concat(values); $P.fileArr = $P.fileArr.concat(values);
$P.fnDisplay(); $P.fnDisplay();
}).catch((error) => { }).catch((error) => {
alert(error);
dialog.close($P.control.prefix + "Dialog--${openerPageName}"); //alert(error);
//dialog.close($P.control.prefix + "Dialog--${openerPageName}");
}); });
} }
}); });

@ -2,8 +2,25 @@
* 서버의 파일 정보로 javascript File 객체 생성 * 서버의 파일 정보로 javascript File 객체 생성
**************************************************************************/ **************************************************************************/
async function fnCreateFileFromFileInfo(fileInfo){ async function fnCreateFileFromFileInfo(fileInfo){
if(/^[a-zA-Z][\:]/.test(fileInfo.URL)){
fileInfo.URL = fileInfo.URL.substring(2);
}
let response = null;
try {
response = await fetch(fileInfo.URL);
} catch(error){
let data = new Blob();
let metadata = {
type: fileInfo.MIME_TYPE
};
let file = new File([data], fileInfo.FILE_NM, metadata);
file.id = fileInfo.FILE_ID;
file.url = fileInfo.URL;
let response = await fetch(fileInfo.URL); return new Promise(resolve => { resolve(file); });
}
let data = await response.blob(); let data = await response.blob();
let metadata = { let metadata = {
type: fileInfo.MIME_TYPE type: fileInfo.MIME_TYPE

Loading…
Cancel
Save