使用PHP将文件从android(java)上传到服务器
发布时间:2020-05-31 00:56:35 所属栏目:PHP 来源:互联网
导读:您好我试图使用 PHP将文件从我的 Android应用程序上传到我的服务器. 我看过这篇文章: How to upload a file using Java HttpClient library working with PHP http://www.veereshr.com/Java/Upload How do I send a file in Android from a mobile de
|
您好我试图使用 PHP将文件从我的 Android应用程序上传到我的服务器. 我看过这篇文章: How to upload a file using Java HttpClient library working with PHP 这是我的JAVA代码: public void upload() throws Exception {
File file = new File("data/data/com.tigo/databases/exercise");
Log.i("file.getName()",file.getName());
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://***.***.***.***/backDatabase.php");
InputStreamEntity reqEntity = new InputStreamEntity( new FileInputStream(file),-1);
reqEntity.setContentType("binary/octet-stream");
reqEntity.setChunked(true);
httppost.setEntity(reqEntity);
HttpResponse response = httpclient.execute(httppost);
if((response.getStatusLine().toString()).equals("HTTP/1.1 200 OK")){
// Successfully Uploaded
Log.i("uploaded",response.getStatusLine().toString());
}
else{
// Did not upload. Add your logic here. Maybe you want to retry.
Log.i(" not uploaded",response.getStatusLine().toString());
}
httpclient.getConnectionManager().shutdown();
}
这是我的PHP代码: <?php
$uploads_dir = '/tigo/databaseBackup';
if (is_uploaded_file($_FILES['exercise']['tmp_name']))
{
$info = "File ". $_FILES['exercise']['name'] ." uploaded successfully.n";
$file = 'emailTest.log';
file_put_contents($file,$info,FILE_APPEND | LOCK_EX);
move_uploaded_file ($_FILES['exercise'] ['tmp_name'],$_FILES['exercise'] ['name']);
}
else
{
$info = "Possible file upload attack: ";
$file = 'emailTest.log';
file_put_contents($file,FILE_APPEND | LOCK_EX);
$info = "filename '". $_FILES['exercise']['tmp_name'] . "'.";
file_put_contents($file,FILE_APPEND | LOCK_EX);
print_r($_FILES);
}
?>
在我的logcat中,我得到HTTP / 1.1 200 OK. PHP Notice: Undefined index: exercise in /var/www/backDatabase.php on line 23 我也试过用: $_FILES['userfile']['name'] 代替 $_FILES['exercise']['tmp_name'] 我在服务器日志中遇到了同样的错误. 我想我的问题是我无法参考我上传的文件. 谢谢你的帮助. 尝试多部分实体public void upload(String filepath) throws IOException
{
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
HttpPost httppost = new HttpPost("url");
File file = new File(filepath);
MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file,"image/jpeg");
mpEntity.addPart("userfile",cbFile);
httppost.setEntity(mpEntity);
System.out.println("executing request " + httppost.getRequestLine());
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
// check the response and do what is required
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
