在我的Android应用程序中,我将一些文件上传到php脚本。代码在我的平板电脑上工作正常,但在其他一些设备上,上传失败了。文件的大小是设备上的一些文件。
我的上传代码:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("myurl"
+ "/Mysql_Filesave.php");
JSONObject json = new JSONObject();
json.put("Type", type);
json.put("FileName", files[i].getName());
json.put("LocalPath", path);
JSONArray postjson = new JSONArray();
postjson.put(json);
// Post the data:
httppost.setHeader("json", json.toString());
httppost.getParams().setParameter("jsonpost", postjson);
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
FileBody fileBody = new FileBody(files[i]);
reqEntity.addPart("file", fileBody);
httppost.setEntity(reqEntity);
HttpResponse response = httpclient.execute(httppost);
我的PHP代码,用于检查是否有文件:
if (!isset($_FILES['file']['tmp_name'])) {
die("No file available");
}
因此有些设备会在此检查中死亡。这些文件大约10兆字节。 在PHP服务器上,我允许文件高达50M。
问题是什么?我没有任何线索,因为在某些设备上它可以工作,而在其他设备上则没有。
祝你好运, 彼得
答案 0 :(得分:0)
自己发现问题: 修复了一些php.ini参数(max memory,max_post_size),现在上传工作正常