[英]Php server 5.3.3 doesn't detect attachment file in my Post requests (5.4.3 does)
我正在使用android volley-HTTP multipart請求將mime文件發布到我的php服務器。 PHP 5.4.3可以捕獲附件文件,但PHP 5.3.3沒有:
$_FILES['uploadedfile'] == empty array
(請求很好-請求長度很好)。
有人可以解釋嗎? 為什么PHP 5.3.3沒有? 謝謝,我是PHP新手。
如何通過Volley在Android中發送“多部分/表單數據” POST
我的http請求:
{MultipartFormEntity@830061806024}
multipart = {HttpBrowserCompatibleMultipart@830061809784}
parts = {ArrayList@830059119584} size = 1
0 = {FormBodyPart@830067533016}
body = {ByteArrayBody@830067487680}
header = {Header@830067537968} "[Content-Disposition: form-data; name="uploadedfile"; filename="test.mim", Content-Type: application/octet-stream, Content-Transfer-Encoding: binary]"
name = {String@830059743272} "uploadedfile"
boundary = {String@830061809752} "6ANZ75BgJPrWEv1L0jU9o-IKj5ftRzcpKiBqY7N"
charset = {CharsetICU@830037109480} "java.nio.charset.CharsetICU[UTF-8]"
subType = {String@830057480912} "form-data"
contentType = {BasicHeader@830061692384} "Content-Type: multipart/form-data; boundary=6ANZ75BgJPrWEv1L0jU9o-IKj5ftRzcpKiBqY7N; charset=UTF-8"
name = {String@830037147880} "Content-Type"
value = {String@830061806056} "multipart/form-data; boundary=6ANZ75BgJPrWEv1L0jU9o-IKj5ftRzcpKiBqY7N; charset=UTF-8"
contentLength = 4299
此代碼破壞了php函數:
try {
entityBuilder.setCharset(CharsetUtils.get("UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
>> Content-Type =
multipart/form-data; boundary=1ft_IEmfaejQeazBUZDaPUqA-bkzkalk0; charset=UTF-8
實際上,上面的這段代碼使php服務器無法獲取上載的文件,因為它在邊界部分之后具有字符集類型。 下面的Content-Type使我的代碼有效:
multipart/form-data; boundary=1ft_IEmfaejQeazBUZDaPUqA-bkzkalk0
我以某些版本來賓,PHP服務器在第一種情況下無法識別上傳的文件。 非常感謝BNK的建議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.