2017-09-11 3 views
2

이미지가 포함 된 캔버스에서 얻은 BLOB 객체가 있습니다. 이 blob을 objectURL로 변경합니다. 이미지를 로컬 파일 시스템에 저장 자바 스크립트

let myBlob = canvas.toBlob(function(blob) {...}, 'image/jpeg', 0.95); 
 
let myUrl = URL.createObjectURL(myBlob);
내가 얻을 같은 블럽 URL : blob:file:///d324f-3fd4....

파일이 저장된 위치를 얻으려면, 내가 DirectoryEntry 개체의 getDirectory 메서드를 호출하기 전에 우선 파일 시스템을 요청하려고 . 그러나 일반 File not found in the directory 오류가 발생합니다.

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; 
 
webkitRequestFileSystem(window.TEMPORARY, 2048*2048, resolve, errorHandler); 
 
// doesn't resolve to any value

나는 윈도우 10에서 AppData 폴더에있는 모든 곳에서 검색 있지만 임시 파일이 발견되지 않았다. 내 추측으로는 BLOB는 브라우저 메모리 내부에만 존재하며 실제로 전자의 임시 루트 폴더에 저장되지 않는다는 것입니다.

답변

2

URL.createObjectURL 파일을 디스크에 저장하지 않으면 심볼릭 링크 만 생성됩니다.

symlink가 메모리에 저장된 경우 symlink는 메모리를 가리키며 심볼릭 링크를 만든 세션이 살아있는 한 메모리에 파일을 보유합니다.

파일의 경우 (사용자 입력에서 가져옴) 심볼릭 링크는 사용자의 디스크를 직접 가리 킵니다.

따라서 메모리에만 존재하기 때문에 위치에 액세스 할 수 없습니다. 이제

, 당신은 항상 파일 시스템에 물방울을 저장할 수 있지만, 나는 전자 닌자 아니에요, 그래서 당신이 다른 사람의 답변 확인 드리겠습니다 : Save video blob to filesystem electron/node js

관련 문제