2017-12-23 16 views
-3

내 Android 앱 사용자가 http을 사용하여 내 서버에 zip 파일을 보낼 수 있기를 바랍니다. 유스 케이스는이 같은 모습을 상상하고 있습니다 :내 웹 사이트에서 내 앱의 파일을 수신하려면 어떻게해야합니까?

  • 사용자는 zip 파일 및 사용하여 암호를 포함하는 문자열을 보내는 HttpClientHttpPost 내 서버 (here 설명 된대로).

  • 기존 암호로 www.example.com/my_app에 로그인하면 사용자가 지정한 암호로 내 서버로 보낸 파일을 다운로드 할 수 있습니다.

나는 두 번째 단계를 수행하는 방법을 모르겠다. Android 사용자가 전송 한 파일을 수신하려면 내 웹 사이트에 어떤 코드를 작성해야합니까? 내 호스팅 계획 및 간단한 웹 사이트에 공유 서버가 있습니다.

+0

code-- 안드로이드 위에서 업로드 된 데이터를 수용 할 수있는 간단한 PHP 코드입니다. – Sid

+0

나는 그것이 특정 질문이나 문제를 돕기보다는 누군가에게 가르쳐 줄 누군가를 찾고 있기 때문에 그런 것 같아. 귀하의 질문은 너무 "큰"것입니다. – Warren

답변

1

먼저 업로드 코드를 수정해야합니다 (파일 업로드는 여러 부분 데이터로 처리되므로). 여기 여기에 내가 업로드 한 파일에 대한 매개 변수 키로 fileToUpload 사용했다

String url = "http://localhost/upload.php"; 
     File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), 
       "file.txt"); 
     try { 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost(url); 
      Part[] parts = new Part[1]; 
      parts[0] = new FilePart("fileToUpload", file); 
      MultipartEntity reqEntity = new MultipartEntity(parts); 
      reqEntity.setContentType("binary/octet-stream"); 
      reqEntity.setChunked(true); // Send in multiple parts if needed 
      httppost.setEntity(reqEntity); 
      HttpResponse response = httpclient.execute(httppost); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

code-- 수정 업로드입니다. 서버 코드에서 $ _FILES [ "fileToUpload"]에 대해 동일한 키를 사용할 수 있습니다. 여기 사람이 대신 그냥 downvoting의 나쁜 질문하는 무슨 설명하면 도움이 될 것인가

<?php 
$target_dir = "/Users/chauhan/Desktop/uploads/"; 
$target_file = $target_dir . basename("abc.txt"); 
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file); 
?>