-
2021-06-07 07:06:55
最近试验android拍照上传的功能,基本顺利。
试验条件,
客户端,android2.2
服务器端,linux, nginx php 5.2
android 代码如下:
PHP代码如下:
///如果有上传文件则接收
if($_FILES){
$target_path = $target_path . basename( $_FILES['file1']['name']);
try{if(move_uploaded_file($_FILES['file1']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['file1']['name']). " has been uploaded";
}
}catch( Exception $e ) {
echo $e->getMessage(); }
}
else ///如果不是上传文件则列出图片
{
file_list(".");
}
function file_list($path){
$im_type=array('bmp','jpg','jpeg','png','gif');
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..") {
if (is_dir($path."/".$file))
{
file_list($path."/".$file);
}
else
{
if(strpos($file,'.png',1)||strpos($file,'.jpg',1)||strpos($file,'.ico',1)||strpos($file,'.gif',1))
{
echo '
';
}
}
}
}
}
}
?>
Android 代码:
package com.app.model;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;
public class SubmitPhoto extends Activity
{
/* 变量声明
* newName:上传后在服务器上的文件名称
* uploadFile:要上传的文件路径
* actionUrl:服务器对应的程序路径 */
private String newName="";
private String uploadFile="";
private String actionUrl="http://dev.feiren.com/uploads/android/upload.php";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
newName = bundle.getString("fileName");
uploadFile=newName;
try {
String ok=post(actionUrl,newName);
Toast.makeText(this, "OK!",Toast.LENGTH_LONG).show();
finish();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/* 上传文件到Server的方法*/
/**
* @param actionUrl
* @param params
* @param files
* @return
* @throws IOException
*/
public static String post(String actionUrl,String FileName) throws IOException {
String BOUNDARY = java.util.UUID.randomUUID().toString();
String PREFIX = "--" , LINEND = "\r\n";
String MULTIPART_FROM_DATA = "multipart/form-data";
String CHARSET = "UTF-8";
URL uri = new URL(actionUrl);
HttpURLConnection conn = (HttpURLConnection) uri.openConnection();
conn.setReadTimeout(5 * 1000); // 缓存的最长时间
conn.setDoInput(true);// 允许输入
conn.setDoOutput(true);// 允许输出
conn.setUseCaches(false); // 不允许使用缓存
conn.setRequestMethod("POST");
conn.setRequestProperty("connection", "keep-alive");
conn.setRequestProperty("Charsert", "UTF-8");
conn.setRequestProperty("Content-Type", MULTIPART_FROM_DATA + ";boundary=" + BOUNDARY);
DataOutputStream outStream = new DataOutputStream(conn.getOutputStream());
// 发送文件数据
if(FileName!=""){
StringBuilder sb1 = new StringBuilder();
sb1.append(PREFIX);
sb1.append(BOUNDARY);
sb1.append(LINEND);
sb1.append("Content-Disposition: form-data; name=\"file1\"; filename=\""+FileName+"\""+LINEND);
sb1.append("Content-Type: application/octet-stream; charset="+CHARSET+LINEND);
sb1.append(LINEND);
outStream.write(sb1.toString().getBytes());
InputStream is = new FileInputStream(FileName);
byte[] buffer = new byte[1024];
int len = 0;
while ((len = is.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
is.close();
outStream.write(LINEND.getBytes());
}
//请求结束标志
byte[] end_data = (PREFIX + BOUNDARY + PREFIX + LINEND).getBytes();
outStream.write(end_data);
outStream.flush();
//得到响应码
int res = conn.getResponseCode();
InputStream in = null;
if (res == 200) {
in = conn.getInputStream();
int ch;
StringBuilder sb2 = new StringBuilder();
while ((ch = in.read()) != -1) {
sb2.append((char) ch);
}
}
return in == null ? null : in.toString();
}
}
以上代码已经试验成功。这个代码可以实现很多有意思的应用,比如你在户外拍照,刚拍下来,你所有的朋友马上都可以在你的微薄或者空间里看到。
0.00 平均分 (0%) - 0 票
更多相关内容 -
Android拍照上传功能示例代码
2021-01-21 19:55:50本文实例讲述了Android实现拍照上传功能的方法。分享给大家供大家参考,具体如下: 1、LoginWindow.java --登录窗口 package com.hemi.rhet; import com.hemi.rhet.R; import android.app.Activity; import ... -
android拍照上传
2015-04-16 14:49:40实现拍照上传功能,可做扩展 /* 上传文件至Server的方法 */ Index_Activity.java -
Android设置拍照或者上传本地图片的示例
2020-09-01 07:40:41本篇文章主要介绍了Android设置拍照或者上传本地图片示例,可以拍照或者上传本地文件,有需要的可以了解一下。 -
Android拍照上传(含参数)
2018-06-27 08:31:39Android拍照功能和照片包含参数一起上传服务器,网上很多教程拍照的图片,都是缩略图不是很清晰,所以需要在调用照相机的时候,事先生成一个地址,用于标识拍照的图片URI -
android端拍照上传至服务器端包含服务器代码
2015-02-25 23:27:20Android端拍照上传至服务器端,连同服务器端代码一并给出,小伙伴们,如果有好的意见可以发送到我的邮箱whsgzcy@foxmail.com -
安卓拍照上传功能
2017-05-16 17:00:12用安卓写了一个简单的APP,主要功能是拍照并上传图片。拍照部分功能直接调用系统Camera APIs,上传图片功能部分使用的httpmime。 -
Android 拍照选择图片并上传功能的实现思路(包含权限动态获取)
2021-01-04 00:21:39作为一个Android新手,想实现手机拍照并上传的功能,经过查找资料,已实现此功能。在此记录备忘。老鸟请忽略。 一、实现思路: 1.Android手机客户端,拍照(或选择图片),然后上传到服务器。 2.服务器端接收手机端... -
Android 拍照上传图片
2015-11-21 13:58:13Android 拍照上传图片,有弹出框,可以选择从拍照还是本地相册中选择图片。选择图片并进行图片上传。 -
安卓拍照上传录像监控录屏相关-拍照上传源码.zip
2019-07-29 16:41:24拍照上传源码.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
安卓拍照上传录像监控录屏相关-android录音上传到服务器上传使用AsyncTask异步任务.rar
2019-07-29 16:41:14android录音上传到服务器,上传使用AsyncTask异步任务.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
安卓拍照上传录像监控录屏相关-Camera2一边录像一边拍照.rar
2019-07-29 16:42:13Camera2一边录像,一边拍照.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
Android 拍照上传功能控件
2015-04-10 17:45:46Android 拍照上传功能控件 兼容2.3以上 -
android 拍照上传(最新)
2016-03-14 16:59:29android 拍照上传 图片剪切 注释详细 非常适合新手 -
安卓拍照上传录像监控录屏相关-android使用javacv进行录像[模仿vine].zip
2019-07-29 16:41:33android 使用javacv进行录像[模仿vine].zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
安卓Android源码——安卓拍照上传实现代码附带php端.zip
2021-10-14 08:57:16安卓Android源码——安卓拍照上传实现代码附带php端.zip -
安卓拍照上传录像监控录屏相关-Android自定义相机切换前后摄像头照相机拍照.rar
2019-07-29 16:43:06Android自定义相机,切换前后摄像头,照相机拍照.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
Android应用源码安卓拍照上传实现代码附带php端.zip
2021-12-05 18:56:51Android应用源码安卓拍照上传实现代码附带php端.zip -
安卓拍照上传录像监控录屏相关-Android-拍照打开本地相册.zip
2019-07-29 16:43:29Android-拍照、打开本地相册.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
安卓拍照上传录像监控录屏相关-android自定义视频录制限制时长(含倒计时.zip
2019-07-29 16:41:25android自定义视频录制限制时长(含倒计时.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
android 拍照上传
2016-03-14 16:52:23android 拍照上传 图片裁剪讲解非常详细,基础 -
android 拍照和上传的实现代码
2020-09-05 00:51:25怎么把拍照好的图片数据放到gallery中显示又要保存到sdcard上,请看下面的实例 -
Android-安卓7.0拍照权限适配解决安卓本地图片选择或者拍照更换头像上传后台
2019-08-13 03:12:10安卓7.0拍照权限适配解决安卓本地图片选择或者拍照更换头像上传后台, -
安卓拍照上传录像监控录屏相关-基于Android的拍照功能及灰度化.rar
2019-07-29 16:43:13基于Android的拍照功能及灰度化.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。 -
android通过选择文件、拍照上传图片到服务器
2018-05-30 11:32:50压缩文件包含了android端和web端,web端使用myeclipse8.5开发的,...具体实现了手机选择相册图片或者拍照能预览图片并将图片上传到服务器。发布到手机上测试可能需要手动在手机权限管理中打开摄像头和文件读写的权限。 -
Android应用源码安卓拍照上传实现代码附带php端.rar
2021-09-16 09:42:49Android应用源码安卓拍照上传实现代码附带php端.rar