2013-02-21 2 views
0

나는 안드로이드에서 wcf 서비스로 비디오 파일을 보내려고합니다. 비디오 파일이 성공적으로 업로드되고 양쪽에서 크기가 동일하지만 문제는 열리지 않습니다. 내가 의한 열 때 (VLC 플레이어)는 "비디오/오디오 포맷 undf을 지원하지 않습니다 VLC가.는"다음안드로이드 응용 프로그램에서 wcf 서비스로 비디오/오디오 파일 보내기

내 안드로이드 코드 같은 일부 어떤 오류를 보여

package com.example.filedemo; 

import java.io.File; 
import java.io.IOException; 
import java.io.UnsupportedEncodingException; 

import org.apache.http.HttpResponse; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.mime.HttpMultipartMode; 
import org.apache.http.entity.mime.MultipartEntity; 
import org.apache.http.entity.mime.content.FileBody; 
import org.apache.http.entity.mime.content.StringBody; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.json.JSONException; 
import org.json.JSONObject; 

import android.os.Environment; 
import android.util.Log; 

public class HttpUpload { 

    public static String res; 
    public static String response; 
    public void myUploadedfile() { 
     HttpClient httpClient = new DefaultHttpClient(); 

     HttpPost postRequest = new HttpPost(
       "http://10.160.0.18:85/Service.svc/UploadFile?fileName=vd.mp4"); 
     /* ResponseHandler<String> responseHandler = new BasicResponseHandler(); */ 

     // Indicate that this information comes in parts (text and file) 
     MultipartEntity reqEntity = new MultipartEntity(
       HttpMultipartMode.BROWSER_COMPATIBLE); 

     try { 

      // Create a JSON object to be used in the StringBody 
      JSONObject jsonObj = new JSONObject(); 

      // Add some values 
      jsonObj.put("filename", "vd.mp4"); 

      // Add the JSON "part" 
      reqEntity.addPart("entity", new StringBody(jsonObj.toString())); 
     } catch (JSONException e) { 
      Log.v("App", e.getMessage()); 
     } catch (UnsupportedEncodingException e) { 
      Log.v("App", e.getMessage()); 
     } 

     FileBody fileBody = new FileBody(new File(
       Environment.getExternalStorageDirectory(), "vd.mp4"));// ,"application/octet-stream"); 
     reqEntity.addPart("file", fileBody); 

     try { 
      postRequest.setEntity(reqEntity); 

      // Execute the request "POST" 
      HttpResponse httpResp = httpClient.execute(postRequest); 

      /*HttpResponse response = null;*/ 
      // Check the status code, in this case "created" 

      Log.v("App", "Created"); 
      /*if (((HttpResponse) response).getStatusLine().getStatusCode() == HttpStatus.SC_CREATED) 
      { 

      }*/ 
     } catch (UnsupportedEncodingException e) { 
      e.printStackTrace(); 
     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 


} 

WCF 코드

FileStream fileToupload = new FileStream("D:\\vd.mp4", FileMode.Create, FileAccess.Write); 

    byte[] bytearray = new byte[10000]; 
    int bytesRead, totalBytesRead = 0; 
    do 
    { 
    bytesRead = mystream.Read(bytearray, 0, bytearray.Length); 
    totalBytesRead += bytesRead; 
    } while (bytesRead > 0); 

    fileToupload.Write(bytearray, 0, bytearray.Length); 
    fileToupload.Close(); 
    fileToupload.Dispose(); 
    return "success"; 
+0

안녕 친구는 나는 동일하지만 난이 오류가 " VLC는 오디오 또는 비디오 형식을 지원하지 않습니다 없음 적절한 디코더 모듈을"적용되지 undf ". 불행히도이 문제를 해결할 방법이 없습니다. " –

답변

1

세트 올바른 MIME 파일 본문 유형과 같이 다시 시도 :

0 어떤 몸이 어떤 생각을 가지고 있으면 도움 또는 비디오가
+0

을 업로드 특별히 성공적으로 실행 코드를 공유하시기 바랍니다

new FileBody(new File(imagePath),"video/mp4") 

관련 문제