一個做的方式是通過獨特的分離器($)
Content-Disposition: form-data; name="uploaded_file";filename=""+ fileName +"_$_stringdata"+ """ + lineEnd
在PHP中分離內容處置一起發送字符串,http://php.net/manual/en/httpresponse.getcontentdisposition.php
使用getContentDisposition並解析它。
Description
static string HttpResponse::getContentDisposition (void)
Get current Content-Disposition setting.
其他方式:使用httpmime 只需添加一個幾FormBodyPart您MultipartEntity。
您可以使用StringBody對象來提供值。
這裏是你如何使用它的一個例子:
byte[] data = {10,10,10,10,10};
HttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost("server url");
ByteArrayBody bab = new ByteArrayBody(data, "image.jpg");
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("image", bab);
FormBodyPart bodyPart=new FormBodyPart("formVariableName", new StringBody("formValiableValue"));
reqEntity.addPart(bodyPart);
bodyPart=new FormBodyPart("formVariableName2", new StringBody("formValiableValue2"));
reqEntity.addPart(bodyPart);
bodyPart=new FormBodyPart("formVariableName3", new StringBody("formValiableValue3"));
reqEntity.addPart(bodyPart);
postRequest.setEntity(reqEntity);
HttpResponse response = httpClient.execute(postRequest);
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line = null;
while((line = in.readLine()) != null) {
System.out.println(line);
}
在PHP中:
$_FILES
Array
(
[image] => Array
(
[name] => image.jpg
[type] => application/octet-stream
[tmp_name] => /tmp/php6UHywL
[error] => 0
[size] => 5
)
)
$_POST:
Array
(
[formVariableName] => formValiableValue
[formVariableName2] => formValiableValue2
[formVariableName3] => formValiableValue3
)
關於以同樣的方式像你一樣與文件:在兩個邊界之間。您的文件內容只是多部分數據的一部分。您可以根據需要添加任意數量的部件。零件按邊界分開。 – greenapps
@greenapps你能告訴我怎麼做?我需要爲字符串添加setRequestProperty()嗎?我需要Content-Disposition嗎? – user5155835