2012-02-28 3 views
11

불안정한 인터넷 연결 환경에서 잠재적으로 사용될 웹 기반 응용 프로그램에서 작업 중입니다. HTML5 로컬 저장소 (사실 jQuery 플러그인 jStorage)를 사용하는 HTML5 오프라인 애플리케이션으로 구현하고 있습니다. 데이터 입력 방식의 앱이므로 오프라인 상태에서 생성 된 모든 새로운 항목은 로컬 저장소에 저장되며 인터넷 연결이 다시 설정되면 나중에 서버와 동기화됩니다. 나는 거의 효과가 있지만 사용자가 실제로 데이터 입력 제출과 함께 이미지를 업로드해야 할 때 요구 사항에 직면하고 있습니다.
파일 업로드 및 오프라인 액세스에 대해 이야기하는이 HTML5 API 사양 (http://www.w3.org/TR/file-upload/)을 발견했습니다. 전에 너무 깊숙이 들어가기 전에이 기능을 둘러싼 랩퍼가 있습니까?
나는 또한이 기사 - 공개적으로 사용 가능한 TwitPic API를 사용하는 http://hacks.mozilla.org/2010/02/an-html5-offline-image-editor-and-uploader-application/을 발견했으며, 사람들로부터 전문적인 피드백을 받고 싶었다.

감사합니다.HTML5 오프라인 응용 프로그램에서 파일 업로드

+0

나는 당신을 이해하고 있는지 잘 모르겠습니다. 오프라인으로 서버에 파일을 업로드 할 수 없습니다. 기간. 링크 된 데모는 파일을 잡고 연결을 기다려야하지만 오프라인으로 전환하는 마법의 방법은 없습니다. –

+3

@RaymondCamden - 정확히 내가 찾고 있던 것입니다. 연결이 다시 가능해질 때까지 어딘가에 파일 (또는 그 내용)을 보관하십시오. 나는 항상 연결되어있는 것에 의존 할 수없는 "때때로 연결된"앱을 쓰고있다. unsync 된 레코드를 HTML5 로컬 저장소에 '캐시'하고 연결이 가능할 때마다 서버와 동기화합니다. 나는 이것이 어떻게 파일로 달성 될 수 있는지 궁금해하고 있었다. –

답변

3

나는이 질문을 한 지 오래되었지만 여전히이 질문을 즐겨 사용하고 upvoted하는 것을 본다. 그래서 나는 이것을 해결하는 방법을 나눌 것이라고 생각했다. 제 경우에는 파일이 그렇게 크지 않기 때문에 MIME 인코딩을 결정한 다음 HTML5 localStorage에 문자열을 저장하기로 결정했습니다. 그것은 매력으로 작동합니다.

+1

자세한 내용은 편리 할 것입니다. [이 질문 그래서] (http://stackoverflow.com/questions/19183180/how-to-upload-an-image-save-it-to-localstorage-and-then-display-it-on-the-next) 이미지를 다루지 만이 답변에서 대략 설명하는 것을 수행하는 좋은 예가 될 것입니다. –

+0

안녕하세요 @insiderpro 그래서 localstorage에 이미지를 저장하고 나중에 서버에 어떻게 푸시합니까? base64 로요? 10x – Bill

+1

@Bill, 네, 저는 base64 문자열로 서버에 푸시합니다. –

1

localStorage은 문자열 만 저장하고 저장 용량이 5MB이므로 localStorage이 올바른 대답이라고 생각하지 않습니다. http://hacks.mozilla.org/2012/02/storing-images-and-files-in-indexeddb/ : http://hacks.mozilla.org/2012/02/saving-images-and-files-in-localstorage/

indexedDB이 파일을 저장할 수있는 더 좋은 장소가 될 수 있습니다

난 당신이 localStorage 주장하는 경우 http://pouchdb.com

같은 것이, 그때 모질라 해킹이 localStorage에 저장하는 이미지에 대한 기사를 가지고 제안