0

我使用在某些页面中找到的此代码,但我只能将图像从我的 android 应用程序上传到服务器并且正在工作,但是当我上传视频(.mp4)时,它会保存为未知的“文件”。

public void upload() throws Exception {
    //Url of the server
    String url = "";
    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost(url);
    MultipartEntity mpEntity = new MultipartEntity();
    //Path of the file to be uploaded
    String filepath = "";
    File file = new File(filepath);
    ContentBody cbFile = new FileBody(file);        

    //Add the data to the multipart entity
    mpEntity.addPart("image", cbFile);
    mpEntity.addPart("name", new StringBody("Test", Charset.forName("UTF-8")));
    mpEntity.addPart("data", new StringBody("This is test report", Charset.forName("UTF-8")));
    post.setEntity(mpEntity);
    //Execute the post request
    HttpResponse response1 = client.execute(post);
    //Get the response from the server
    HttpEntity resEntity = response1.getEntity();
    String Response=EntityUtils.toString(resEntity);
    Log.d("Response:", Response);
    //Generate the array from the response
    JSONArray jsonarray = new JSONArray("["+Response+"]");
    JSONObject jsonobject = jsonarray.getJSONObject(0);
    //Get the result variables from response 
    String result = (jsonobject.getString("result"));
    String msg = (jsonobject.getString("msg"));
    //Close the connection
    client.getConnectionManager().shutdown();
}

有什么方法可以使这项工作也可以上传视频吗?

4

1 回答 1

0

此代码对于上传视频和图像没有问题,问题是我缺少名称中的文件扩展名,所以当视频上传时,它应该是 NAME.EXTENSION 而不仅仅是 NAME。

注意:对于所有试图将大型(2MB-10GB)图像或视频上传到服务器的人,我发现的唯一解决方案是将文件编码成块并将每个块上传到服务器,从那里你只需要编码再次大块。没有尺寸限制:)!!!!

于 2013-02-14T17:59:07.130 回答