나는 갤러리에서 서버로 이미지 업로드를 추가해야하는 응용 프로그램을 만들고 있는데, 이미 aske이지만 아무 대답도 얻지 못했습니다. 여기서는 How to upload image from gallary to server?입니다. 갤러리에서 선택하고 보낼 때마다 문제가 발생합니다. 소스 파일이 아닙니다. 어느 누구도 도움이 될 수 있습니까? 갤러리에서 이미지 파일을 선택갤러리에서 선택한 서버에 이미지를 업로드하는 방법은 무엇입니까?
답변
시작 의도 ... 활동 결과에
startActivityForResult(new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI),54);
URI를 파일을 얻을 ...
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (resultCode != RESULT_CANCELED) {
try {
if (requestCode == 54 && resultCode != 0) {
if (intent != null) {
Uri selectedImage = intent.getData();
} else {
Toast.makeText(getApplicationContext(),
"Could not load image",
Toast.LENGTH_SHORT).show();
}
}
} catch (Throwable e) {
e.printStackTrace();
}
}
}
URI에서 파일 바이트를 가져옵니다 ...
private byte[] GetFileBytes(Uri uri)
{
ByteArrayOutputStream bos = new ByteArrayOutputStream(200000);
InputStream imageStream;
try {
imageStream = getContentResolver().openInputStream(uri);
byte[] buffer;
buffer = new byte[100000];
while ((imageStream.read(buffer)) != -1) {
bos.write(buffer);
}
} catch (Throwable e) {
e.printStackTrace();
}
return bos.toByteArray();
}
바이트 배열에서 MultipartEntity 가져 오기 ...
private MultipartEntity getEntity(byte[] bytes)
{
MultipartEntity entity = new MultipartEntity();
InputStream in = new ByteArrayInputStream(bytes);
ContentBody bin = new InputStreamBody(in, "Image_" + c.getTimeInMillis() + ".jpg");
entity.addPart("image_query_string_variable_name", bin);
}
MultipartEntity는 httpmime의 클래스입니다. 인터넷 검색을 통해 JAR을 쉽게 찾을 수 있습니다. 이 jar 파일을 프로젝트 속성에서 프로젝트에 추가해야합니다.
서버에 게시 ...
private void PostData(MultipartEntity entity)
{
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 20000);
HttpConnectionParams.setSoTimeout(httpParameters, 20000);
DefaultHttpClient client = new DefaultHttpClient(httpParameters);
HttpPost request = new HttpPost("http://www.you_server_url.com/someFileName.php");
request.setEntity(entity);
HttpResponse response = null;
response = client.execute(request);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
//
// Process the returned result from server...
//
}
더 편집 :
byte[] fileBytes = null;
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (resultCode != RESULT_CANCELED) {
try {
if (requestCode == 54 && resultCode != 0) {
if (intent != null) {
Uri selectedImage = intent.getData();
fileBytes = GetFileBytes(selectedImage);
} else {
fileBytes = null;
Toast.makeText(getApplicationContext(),
"Could not load image",
Toast.LENGTH_SHORT).show();
}
}
} catch (Throwable e) {
e.printStackTrace();
}
}
}
// when button is clicked...
public void onClick(View v)
{
if(fileBytes != null)
{
MultipartEntity entity = getEntity(fileBytes);
PostData(entity);
}
}
행운을 빕니다. :)
나는 이미 이것을했다 –
그것은 나를 위해 완벽하게 모든 장치에서 잘 작동합니다. –
채팅 할 수 있습니까? –
- 1. 갤러리에서 서버로 이미지를 업로드하는 방법은 무엇입니까?
- 2. 어도비 AIR의 서버에 이미지를 업로드하는 방법은 무엇입니까?
- 3. 아이폰의 원격 서버에 이미지를 업로드하는 방법은 무엇입니까?
- 4. 이미지를 서버에 동적으로 업로드하는 방법은 무엇입니까?
- 5. 이미지를 Ruby 서버에 업로드하는 방법은 무엇입니까?
- 6. 이미지를 첨부하여 Android에 업로드하는 방법은 무엇입니까?
- 7. iOS의 JSON으로 갤러리에서 서버로 이미지를 업로드하는 방법
- 8. 갤러리에서 선택한 그림을 가운데 정렬하는 방법은 무엇입니까?
- 9. 레일을 선택한 직후 carrier-wave로 이미지를 업로드하는 방법은 무엇입니까?
- 10. Phonegap 갤러리에서 선택한 이미지를 선택하는 방법
- 11. PhotoResult를 서버에 업로드하는 방법은 무엇입니까?
- 12. 갤러리에서 내 애플리케이션으로 이미지를 업로드하는 방법
- 13. 파일을 서버에 업로드하는 방법은 무엇입니까?
- 14. 파일을 서버에 업로드하는 방법은 무엇입니까?
- 15. 파일을 서버에 업로드하는 방법은 무엇입니까?
- 16. 여러 이미지를 이미지 서버에 업로드하는 방법
- 17. android에서 서버에 이미지를 업로드하는 방법
- 18. iPhone의 갤러리에서 선택한 사진을 삭제하는 방법은 무엇입니까?
- 19. JFrame에서 이미지를 선택한 다음 imgur에 업로드하는 방법은 무엇입니까?
- 20. 갤러리에서 선택한 이미지를 안드로이드의 새로운 활동으로 유지
- 21. 갤러리에서 선택한 이미지를 센터링 할 때 ImageView
- 22. 갤러리에서 선택한 이미지를 레이아웃으로 유지하려면 어떻게해야합니까?
- 23. 안드로이드 갤러리에서 페이스 북의 사진을 업로드하는 방법
- 24. 티타늄 android/iOS에서 webservice를 사용하여 서버에 이미지를 업로드하는 방법은 무엇입니까?
- 25. iPhone 앱에서 10 개의 이미지를 서버에 업로드하는 방법은 무엇입니까?
- 26. 안드로이드의 HttpPost를 사용하여 서버에 이미지를 업로드하는 방법은 무엇입니까?
- 27. multipart/form-data로 j2me의 서버에 이미지를 업로드하는 방법은 무엇입니까?
- 28. 캔버스 내용의 크기를 조정하고 이미지를 서버에 업로드하는 방법은 무엇입니까?
- 29. iphone 응용 프로그램에서 서버에 이미지를 업로드하는 방법은 무엇입니까?
- 30. 여러 이미지를 서버에 장고 응용 프로그램에 업로드하는 방법은 무엇입니까?
갤러리 파일의 경로/URI를 가져올 수 있습니까? –
예 내 에뮬레이터 갤러리 service_lifecycle에 하나의 이미지를 추가했지만 내 핸드폰에 APK를 추가하고 업로드하지 않는 갤러리에서 사진을 선택하면 –
어떤 종류의 오류가 발생합니까? –