Android 使用HttpPut使文件上载请求无效

Android 使用HttpPut使文件上载请求无效,android,apache,upload,laravel-4,put,Android,Apache,Upload,Laravel 4,Put,我用这段代码向服务器发出文件上传请求(后端是PHP) public String makeFilePutUploadRequest(字符串url、文件文件、列表basicNameValuePairs)抛出ClientProtocolException、IOException{ 字符串responseString=null; HttpPut httput=新的HttpPut(url); MultipartEntityBuilder MultipartEntityBuilder=MultipartE

我用这段代码向服务器发出文件上传请求(后端是PHP)

public String makeFilePutUploadRequest(字符串url、文件文件、列表basicNameValuePairs)抛出ClientProtocolException、IOException{
字符串responseString=null;
HttpPut httput=新的HttpPut(url);
MultipartEntityBuilder MultipartEntityBuilder=MultipartEntityBuilder.create();
//
如果(basicNameValuePairs.size()>0){
对于(BasicNameValuePairNameValuePairs:basicNameValuePairs){
multipartEntityBuilder.addTextBody(nameValuePair.getName(),nameValuePair.getValue());
}
}
//文件
addPart(“upfile”,新的文件体(文件));
setEntity(multipartEntityBuilder.build());
HttpResponse response=httpClient.execute(httput);
responseString=EntityUtils.toString(response.getEntity());
//Log.i(Log_标记,“接收到的响应字符串::”+responseString);
回报率;
}
但在服务器端接收到请求,但未设置参数


我在后端使用Laravel4.1来处理这个请求,如果我使用
Input::get('param')
来获取值,我会得到null。和
Input::hasFile('upfile')
返回
false

要使用PUT方法发送参数,我执行以下操作:

    HttpPut httput = new HttpPut();


    StringBuffer params = new StringBuffer();
    for (BasicNameValuePair nameValuePair : basicNameValuePairs) {
        params.append(nameValuePair.getName())
              .append("=")
              .append(nameValuePair.getValue())
              .append("&");
    }

    StringBuffer urlWithParams = new StringBuffer(ServiceURL);
    urlWithParams.append("?").append(params.toString().substring(0,params.length()-1));

    httput.setURI(URI.create(urlWithParams.toString()));
    httput.addHeader("Content-Type", "application/json"); 

我想发送参数和文件,对于发送参数,我已经有了一个工作代码。
    HttpPut httput = new HttpPut();


    StringBuffer params = new StringBuffer();
    for (BasicNameValuePair nameValuePair : basicNameValuePairs) {
        params.append(nameValuePair.getName())
              .append("=")
              .append(nameValuePair.getValue())
              .append("&");
    }

    StringBuffer urlWithParams = new StringBuffer(ServiceURL);
    urlWithParams.append("?").append(params.toString().substring(0,params.length()-1));

    httput.setURI(URI.create(urlWithParams.toString()));
    httput.addHeader("Content-Type", "application/json");