2009-08-27 4 views
4

내가 아는 한, 내가 여기서 물어 보는 것은 불가능하지만, 나는 무엇인가를 놓친 경우를 대비해서 어쨌든 물어볼 것이라고 생각했다.전체 이미지를 업로드하지 않고 서버에 이미지 미리보기 이미지 업로드

사용자가 JPG 이미지를 업로드 할 수있게하려는 경우 이러한 이미지는 작은 아이콘으로 크기가 조정되고 원본 이미지는 항상 삭제되며 다시는 필요하지 않습니다. 사용자가 하드 드라이브에서 하나의 이미지를 선택하고, 해당 이미지를 로컬로 축소판으로 변환하여 작성한 미리보기 이미지를 서버에 업로드 할 수있게 해주는 최신 브라우저에서 일반적으로 작동하는 방법이 있습니까?

서버가 작은 이미지 만 필요로하는 경우에는 전체 이미지를 업로드하고 즉시 폐기하기 위해 사용자 시간과 서버 리소스 모두에 낭비가됩니다. 클라이언트에서 확장하는 것이 훨씬 낫습니다.

세 가지 옵션이 있습니다. 그냥 일반 HTML/자바 스크립트, 플래시를 사용하거나 자바를 사용합니다. 이것이 플래시에서 가능하다면, 그것은 최상의 선택처럼 보일 것입니다. 그러나 flash.net.FileReference 문서를 읽으면 HD에서 파일을 업로드 할 수있는 것처럼 보이지만 업로드하는 파일을 볼 수는 없습니다. 반면에 Flash 게시 옵션에서 "로컬 파일에 액세스 할 수 있습니다"를 활성화하면 더 이상 네트워크에 액세스 할 수 없어 작동하지 않는 것처럼 보입니다.

HTML/자바 스크립트를 사용하면 이미지를로드하여 <canvas>에 표시 할 수 있지만 이미지의 픽셀에 액세스하려고하면 보안 위반이 발생하여 작동하지 않는 것 같습니다.

Java 사용자가 96.52 % 만 설치했기 때문에 Java (예 : Facebook)에서 구현 한 파일 업로드 대화 상자가 제대로 작동하지 않아 (응답이없는 인터페이스) 사용하기를 주저합니다. Java가 로컬 HD에서 이미지 크기를 조정할 수있는 유일한 방법일까요?

답변

2

나는 믿을만하고 사용자 친화적 인 방법으로이를 수행 할 수 있다면 이미 페이스 북과 같은 사이트에서 이미 이루어질 것이라고 생각합니다. 사람들은 원본 이미지를 업로드해야하는 번거 로움을 겪었습니다 ... 기존 UX에서 향상시킬 수 있다는 것이 언제나 좋았지 만 일치시킬 수만 있다면 정확하게 잃어 버릴 수는 없습니다.

JS가 클라이언트에서 직접 읽을 수 없으므로 JavaScript가 해제되었습니다. 브라우저는 미리 정의 된 로컬 경로를로드하거나 서버에서 바이트를로드하도록 지시 할 수 있습니다.

플래시의 보안 샌드 박스는 사용자가 지적한대로이를 방지합니다.

자바에는 다른 일련의 문제가 있습니다. 사람들이 자신의 가족보다 사이트를 더 신뢰하지 않는 한 요즘에는 애플릿을 거의 설치하지 않습니다. 실질적으로 무제한의 자원을 가지고있어 문제를 일으키지 만 여전히 실패 할 수있는 페이 스북 (Facebook-esque) 회사에 의해 입증 된 것처럼 믿을만한 무언가를 믿을 수있는 것 ()을 만드는 것은 명백히 극도로 어렵습니다.

요약하면 - 아니요. 걱정하지 마세요.

0

jpeg 이미지가 프로그레시브 인 경우 일정한 해상도를 얻으면 업로드를 중단 할 수 있습니다. 이렇게하려면 jpeg 로더 및 http 처리 코드에 대한 독자적인 처리가 필요합니다.

또한 대부분의 jpeg가 기본적으로 프로그레시브가 아니기 때문에 꽤 큰 "IF"입니다.

4

"플래시를 사용할 수 있다면 이 가장 좋은 옵션으로 보입니다.플레이어 10

http://blog.kukiel.net/2009/02/file-manipulation-client-side-with.html

플래시는 현재 약 85-의 일반적인 시장 침투가 있습니다 : "

내가 알고있는 것처럼,이 플래시 플레이어와 수 (10)

다음은 예입니다 90 %이므로 사용자의 96.52 % 만 설치했기 때문에 Java 사용을 주저한다면 Flash Player 10이 필요하지 않을 것으로 생각됩니다.

+0

좋은 링크. FlashPlayer 10 이후로 클라이언트 측의 데이터를 조작하거나 더 잘 해석 할 수 있습니다. – Virusescu

0

A 다른 방법은 Google의 Gears를 사용하는 것입니다 (예 : Gears Uploader).

0

나는 서버에 이미지를 업로드 한 다음 브라우저에 표시 한 다음 사용자가 자바 스크립트를 사용하여 크기를 조정할 수 있다고 생각하지만 실제 크기는 조정하지 않고 coordenate 만 캡처 한 후 coordeante를 사용할 수 있습니다. 서버의 이미지 크기를 조정하고 새 이미지 (엄지 손가락)를 저장하고 원본을 버립니다.

관련 문제