如何使用以下PHP代码以及从我的Android应用程序发送的HTTPPost请求:
<?php
$file_path = "userimage/";
$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
} else {
echo "fail";
}
?>
我可以简单地这样做:
nameValuePairs.add(new BasicNameValuePair("uploaded_file", encoded));
nameValuePairs.add(new BasicNameValuePair("tmp_name", "testImage.jpg"));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("URL TO PHP");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
我很困惑为什么PHP代码包含name,uploaded_file和tmp_name以及它们来自Exaclty?
答案 0 :(得分:1)
上传文件的数据结构取决于PHP语言的实现。请参阅PHP手册http://php.net/manual/en/features.file-upload.post-method.php
您的 $ _ FILES [&#39; uploaded_file&#39;] 是有关上传文件的一系列信息:
<强> $ _ FILES [&#39; uploaded_file&#39;] [&#39;名称&#39;] 强>
客户端计算机上文件的原始名称。
<强> $ _ FILES [&#39; uploaded_file&#39;] [&#39; tmp_name的值&#39;] 强>
上载文件存储在服务器上的文件的临时文件名。
<强> $ _ FILES [&#39; uploaded_file&#39;] [&#39;大小&#39;] 强>
上传文件的大小(以字节为单位)。
答案 1 :(得分:1)
尝试设置enctype = multipart / form-data