开发者

problem uploading file from Android using multipart

开发者 https://www.devze.com 2023-04-08 09:33 出处:网络
I have the following code to send a file (mpeg file - about 20kb) from the phone to the server. However, it fails at the server end. Can anyone kindly telly me what mistake I am making at the client e

I have the following code to send a file (mpeg file - about 20kb) from the phone to the server. However, it fails at the server end. Can anyone kindly telly me what mistake I am making at the client end ? Thanks.

ByteArrayOutputStream bos = new ByteArrayOutputStream();
        //bm.compress(CompressFormat.JPEG, 75, bos);
        byte[] data = bos.toByteArray();
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost postRequest = new HttpPost("http://example.com/upload.php");
        File file= new File("/mnt/sdcard/enca/aha.mpeg");
        FileBody bin = new FileBody(file);
        MultipartEntity re开发者_StackOverflow中文版qEntity = new     MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
        reqEntity.addPart("uploaded", bin);
        reqEntity.addPart("random", new StringBody(encameo1.random));
        reqEntity.addPart("fingerPrint", new StringBody(encameo1.fingerprint));
        postRequest.setEntity(reqEntity);
        HttpResponse response = httpClient.execute(postRequest);
        BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
        String sResponse;
        StringBuilder s = new StringBuilder();

        while ((sResponse = reader.readLine()) != null) {
            s = s.append(sResponse);
        }
        System.out.println("Response: " + s);

php code:

<?php



$target_path = "uploaded_files/";

$target_path = $target_path . basename( $_FILES['userfile']['name']); 

if(move_uploaded_file($_FILES['userfile']['tmp_name'], $target_path)) 
{

    echo "The file ".  basename( $_FILES['userfile']['name'])." has been uploaded";

} 

else
{

    echo "There was an error uploading the file, please try again!";

}



?>


You're sending the part with the name uploaded:

reqEntity.addPart("uploaded", bin);

However, PHP is expecting a part with the name userfile:

if(move_uploaded_file($_FILES['userfile']['tmp_name'], $target_path)) 

Align it to be the same.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号