精华内容
下载资源
问答
  • Android 拍照上传的代码实现
    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 ' '.%24file.'';

    }

    }

    }

    }

    }

    }

    ?>

    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实现拍照上传功能的方法。分享给大家供大家参考,具体如下: 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设置拍照或者上传本地图片示例,可以拍照或者上传本地文件,有需要的可以了解一下。
  • Android拍照功能和照片包含参数一起上传服务器,网上很多教程拍照的图片,都是缩略图不是很清晰,所以需要在调用照相机的时候,事先生成一个地址,用于标识拍照的图片URI
  • Android拍照上传至服务器端,连同服务器端代码一并给出,小伙伴们,如果有好的意见可以发送到我的邮箱whsgzcy@foxmail.com
  • 安卓拍照上传功能

    2017-05-16 17:00:12
    安卓写了一个简单的APP,主要功能是拍照上传图片。拍照部分功能直接调用系统Camera APIs,上传图片功能部分使用的httpmime。
  • 作为一个Android新手,想实现手机拍照上传的功能,经过查找资料,已实现此功能。在此记录备忘。老鸟请忽略。 一、实现思路: 1.Android手机客户端,拍照(或选择图片),然后上传到服务器。 2.服务器端接收手机端...
  • Android 拍照上传图片

    2015-11-21 13:58:13
    Android 拍照上传图片,有弹出框,可以选择从拍照还是本地相册中选择图片。选择图片并进行图片上传。
  • 拍照上传源码.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • android录音上传到服务器,上传使用AsyncTask异步任务.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • Camera2一边录像,一边拍照.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • Android 拍照上传功能控件 兼容2.3以上
  • android 拍照上传(最新)

    2016-03-14 16:59:29
    android 拍照上传 图片剪切 注释详细 非常适合新手
  • android 使用javacv进行录像[模仿vine].zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 安卓Android源码——安卓拍照上传实现代码附带php端.zip
  • Android自定义相机,切换前后摄像头,照相机拍照.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • Android应用源码安卓拍照上传实现代码附带php端.zip
  • Android-拍照、打开本地相册.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • android自定义视频录制限制时长(含倒计时.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • android 拍照上传

    2016-03-14 16:52:23
    android 拍照上传 图片裁剪讲解非常详细,基础
  • 怎么把拍照好的图片数据放到gallery中显示又要保存到sdcard上,请看下面的实例
  • 安卓7.0拍照权限适配解决安卓本地图片选择或者拍照更换头像上传后台,
  • 基于Android拍照功能及灰度化.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 压缩文件包含了android端和web端,web端使用myeclipse8.5开发的,...具体实现了手机选择相册图片或者拍照能预览图片并将图片上传到服务器。发布到手机上测试可能需要手动在手机权限管理中打开摄像头和文件读写的权限。
  • Android应用源码安卓拍照上传实现代码附带php端.rar

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,688
精华内容 4,675
关键字:

安卓拍照上传