2013-03-06 1 views
3

내 gwt 프로젝트 (gae 서버)에 파일을 업로드하려고 할 때 문제가 있습니다. 나 FormUpload (com.google.gwt.user.client.ui.FormPanel) 끝 FileUpload (com.google.gwt.user.client.ui.FileUpload) 내부와 물론 서버 쪽. 문제는 "ó"과 같은 차트가 포함 된 이름으로 이미지를 업로드하려고 할 때입니다. 그러나 내가 수동으로 "ó"을 "ó"로 변경하면 작동합니다 (오래된 키보드를 삭제하고 새로운 키보드를 입력하면 다른 사람이 보낸 메일이 우편으로 전송됩니다). 내은 FormPanel에파일 업로드 인코딩 문제로 파일 이름이 있습니다. GWT

내가 가진 :

setEncoding(FormPanel.ENCODING_MULTIPART); 
setMethod(FormPanel.METHOD_POST); 

내가 트레이 : 서버에서

setEncoding(FormPanel.ENCODING_MULTIPART+"; charset=UTF-8"); 

내가 가진 :

Map<String, List<BlobKey>> uploads = blobstoreService.getUploads(request); 

및 업로드 크기가 0

입니다 또한 사용하지 않는 방법을 시도해보십시오.

blobstoreService.getUploadedBlobs(request); 

또한 제가 파이어 폭스하지만, 크롬, 사파리와 오페라 I 수 없습니다 그래서 아마 그 브라우저 오류 (버그)를 사용하여 동일한 이미지를 업로드 할 수 이상하다.

나 같은 비슷한 문제가 있습니까? 나는 그 문제에 어려움을 겪고 있으며이 행동을 고치는 방법을 모른다.

답변

0

dev_appserver에서 실행 해 보았으며 오류가 있습니까? 나는 또한 여기 유사한 오류 (정확히하지만 업로드와 함께 제출 양식 필드에 파일 이름에서 발생되지 않음)을 가지고

는 유니 코드가 처리에 문제가있는 문제를 내가 추측하고있어 https://code.google.com/p/googleappengine/issues/detail?id=9420&can=4&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log

입니다 blobstore

+0

예 I 시도 (:

FormElement.as(formPanel.getElement()).setAcceptCharset("UTF-8"); 

를 서버 측에서 요청을 처리 할 때하면 요청을 설정 eclipse plugin, GEP에 의해), 로컬 머신에서는 잘 동작합니다. 앱 엔진 SDK 1.7.4를 사용합니다. – Mateusz

+0

또한 나는 그렇게 잘못 생각하지 않는다 : _unicode는 blobstore_에서 처리한다. 왜냐하면 파이어 폭스에서는 모든 것이 잘 작동하고 blobstor는 서버 측 부분이기 때문이다. 그러나 내가 틀릴 수도 있습니다. 대답에 대해 – Mateusz

1

양식의 허용 된 문자 세트와 요청 charset을 설정해야한다는 해결책을 발견했습니다.

그래서, 당신은은 FormPanel를 작성하는 뷰/복합에 추가 :

request.setCharacterEncoding("UTF-8"); 
+0

감사합니다. 불행히도 코드와이 파일에 대한 액세스 권한이 없습니다. – Mateusz