导航:首页 > 操作系统 > android拍照并上传

android拍照并上传

发布时间:2023-01-16 02:52:38

A. 安卓手机oa怎么直接拍照上传附件

点手机输入法上面那个图片图标,然后在图片上传选择界面点拍照,然后拍照,点选拍好的这张图片点完成就可以上传了。

B. 如何调用android的拍照或本地相册选取,然后再实现相片上传服务器

首先是拍照:使用Intent即可,

[java] view plainprint?
01.final String start = Environment.getExternalStorageState();
02.private static final String PHOTOPATH = "/photo/";
03.
04.if(start.equals(Environment.MEDIA_MOUNTED)){
05.Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
06.File file = new File(Environment.getExternalStorageDirectory()+PHOTOPATH);
07.if(!file.exists()){
08.file.mkdirs();
09.}
10.tempphontname = System.currentTimeMillis()+".jpg";
11.buffer.append(Environment.getExternalStorageDirectory()+PHOTOPATH).append(tempphontname);
12.intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(buffer.toString())));
13.startActivityForResult(intent, 1);
14.}
final String start = Environment.getExternalStorageState();
private static final String PHOTOPATH = "/photo/";

if(start.equals(Environment.MEDIA_MOUNTED)){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(Environment.getExternalStorageDirectory()+PHOTOPATH);
if(!file.exists()){
file.mkdirs();
}
tempphontname = System.currentTimeMillis()+".jpg";
buffer.append(Environment.getExternalStorageDirectory()+PHOTOPATH).append(tempphontname);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(buffer.toString())));
startActivityForResult(intent, 1);
}
其次是从本地相册选:依旧是Intent.

如下代码:

[java] view plainprint?
01.if(start.equals(Environment.MEDIA_MOUNTED)){
02. Intent getImage = new Intent(Intent.ACTION_GET_CONTENT);
03. getImage.addCategory(Intent.CATEGORY_OPENABLE);
04. getImage.setType("image/jpeg");
05. startActivityForResult(getImage, 0);
06.}
if(start.equals(Environment.MEDIA_MOUNTED)){
Intent getImage = new Intent(Intent.ACTION_GET_CONTENT);
getImage.addCategory(Intent.CATEGORY_OPENABLE);
getImage.setType("image/jpeg");
startActivityForResult(getImage, 0);
}

接下来是主要的:因为调用完系统的方法后,回返回到回调方法onActivityResult(int, int, Intent)中,

在里面进行主要的照片上传服务器的操作,

见代码:

[java] view plainprint?
01.@Override
02. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
03. ContentResolver resolver = getContentResolver();
04. if(requestCode==1)//
05. {
06. if(resultCode==Activity.RESULT_OK)
07. {
08. if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
09. {
10.ew Thread(new Runnable()
11. {
12. @Override
13. public void run() {
14.//进行上传操作
15.}
16.}.start();
转载

C. android 拍照后直接上传怎么实现

拍照上传的源代码已经上传, 拍照或者选择图片进行上传, 还带上传进度条呢, 下载直接拿去用吧。

D. android如何实现用拍照上传头像

拍照功能可以用第三方框架Picasso或者LuckSiege的那个PictureSelector
,集成很方便,上传的话,和其他文件上传是一个道理,就http上传到你的服务器就可以了

E. android拍照+文字上传到.net或webservice怎么做

方法/步骤
  1. 1

    在eclipse上安装好android开发环境,android调用webservice使用ksoap,本经验使用的是ksoap2-android-assembly-2.6.4-jar-with-dependencies.jar

  2. 2

    AndroidManifest.xml中需添加相应的权限,例子:

    <?xmlversion="1.0"encoding="utf-8"?>

    <manifestxmlns:android="http://schemas.android.com/apk/res/android"

    package="com.example.camera"

    android:versionCode="1"

    android:versionName="1.0">

    <uses-sdk

    android:minSdkVersion="8"

    android:targetSdkVersion="9"/>

    <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <uses-permissionandroid:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

    <uses-permissionandroid:name="android.permission.INTERNET"/>

    <application

    android:allowBackup="true"

    android:icon="@drawable/ic_launcher"

    android:label="@string/app_name"

    android:theme="@style/AppTheme">

    <activity

    android:name="com.example.camera.MainActivity"

    android:label="@string/app_name">

    <intent-filter>

    <actionandroid:name="android.intent.action.MAIN"/>

    <categoryandroid:name="android.intent.category.LAUNCHER"/>

    </intent-filter>

    </activity>

    </application>

    </manifest>

  3. 3

    activity_main.xml文件代码

    <?xmlversion="1.0"encoding="utf-8"?>

    <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical">

    <Button

    android:id="@+id/button"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="点击启动相机"/>

    <Button

    android:id="@+id/savePic"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="保存图片到服务器"/>

    <TextView

    android:id="@+id/textView"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"/>

    <ImageView

    android:id="@+id/imageView"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:background="#999999"/>

    </LinearLayout>

  4. 4

    MainActivity具体代码

    packagecom.example.camera;

    importjava.io.ByteArrayOutputStream;

    importjava.io.File;

    importjava.io.FileInputStream;

    importjava.io.FileNotFoundException;

    importjava.io.FileOutputStream;

    importjava.io.IOException;

    importorg.kobjects.base64.Base64;

    importorg.ksoap2.SoapEnvelope;

    importorg.ksoap2.serialization.SoapObject;

    importorg.ksoap2.serialization.SoapSerializationEnvelope;

    importorg.ksoap2.transport.HttpTransportSE;

    importandroid.app.Activity;

    importandroid.content.Intent;

    importandroid.graphics.Bitmap;

    importandroid.os.Bundle;

    importandroid.os.Environment;

    importandroid.provider.MediaStore;

    importandroid.util.Log;

    importandroid.view.View;

    importandroid.view.View.OnClickListener;

    importandroid.widget.Button;

    importandroid.widget.ImageView;

    importandroid.widget.TextView;

    {

    TextViewtv=null;

    StringfileName="/sdcard/myImage/my.jpg";//图片保存sd地址

    Stringnamespace="http://webservice.service.com";//命名空间

    Stringurl="http://192.168.200.19:8080/Web/webservices/Portal";//对应的url

    StringmethodName="uploadImage";//webservice方法

    @Override

    publicvoidonCreate(BundlesavedInstanceState){

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    tv=(TextView)findViewById(R.id.textView);

    //启用相机按钮

    Buttonbutton=(Button)findViewById(R.id.button);

    button.setOnClickListener(newOnClickListener(){

    @Override

    publicvoidonClick(Viewv){

    Intentintent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);

    startActivityForResult(intent,1);

    }

    });

    //保存图片到服务器按钮(通过webservice实现)

    ButtonsaveButton=(Button)findViewById(R.id.savePic);

    saveButton.setOnClickListener(newOnClickListener(){

    @Override

    publicvoidonClick(Viewv){

    testUpload();

    }

    });

    }

    /**

    *拍照完成后,回掉的方法

    */

    @Override

    protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){

    super.onActivityResult(requestCode,resultCode,data);

    if(resultCode==Activity.RESULT_OK){

    StringsdStatus=Environment.getExternalStorageState();

    if(!sdStatus.equals(Environment.MEDIA_MOUNTED)){//检测sd是否可用

    Log.v("TestFile",

    "SDcardisnotavaiable/writeablerightnow.");

    return;

    }

    Bundlebundle=data.getExtras();

    Bitmapbitmap=(Bitmap)bundle.get("data");//获取相机返回的数据,并转换为Bitmap图片格式

    FileOutputStreamb=null;

    Filefile=newFile("/sdcard/myImage/");

    file.mkdirs();//创建文件夹

    try{

    b=newFileOutputStream(fileName);

    bitmap.compress(Bitmap.CompressFormat.JPEG,100,b);//把数据写入文件

    }catch(FileNotFoundExceptione){

    e.printStackTrace();

    }finally{

    try{

    b.flush();

    b.close();

    }catch(IOExceptione){

    e.printStackTrace();

    }

    }

    ((ImageView)findViewById(R.id.imageView)).setImageBitmap(bitmap);//将图片显示在ImageView里

    }

    }

    /**

    *图片上传方法

    *

    *1.把图片信息通过Base64转换成字符串

    *2.调用connectWebService方法实现上传

    */

    privatevoidtestUpload(){

    try{

    FileInputStreamfis=newFileInputStream(fileName);

    ByteArrayOutputStreambaos=newByteArrayOutputStream();

    byte[]buffer=newbyte[1024];

    intcount=0;

    while((count=fis.read(buffer))>=0){

    baos.write(buffer,0,count);

    }

    StringuploadBuffer=newString(Base64.encode(baos.toByteArray()));//进行Base64编码

    connectWebService(uploadBuffer);

    Log.i("connectWebService","start");

    fis.close();

    }catch(Exceptione){

    e.printStackTrace();

    }

    }

    /**

    *通过webservice实现图片上传

    *

    *@paramimageBuffer

    */

    privatevoidconnectWebService(StringimageBuffer){

    //以下就是调用过程了,不明白的话请看相关webservice文档

    SoapObjectsoapObject=newSoapObject(namespace,methodName);

    soapObject.addProperty("filename","my.jpg");//参数1图片名

    soapObject.addProperty("image",imageBuffer);//参数2图片字符串

    =newSoapSerializationEnvelope(

    SoapEnvelope.VER11);

    envelope.dotNet=false;

    envelope.setOutputSoapObject(soapObject);

    =newHttpTransportSE(url);

    try{

    httpTranstation.call(namespace,envelope);

    Objectresult=envelope.getResponse();

    Log.i("connectWebService",result.toString());

    tv.setText(result.toString());

    }catch(Exceptione){

    e.printStackTrace();

    tv.setText(e.getStackTrace().toString());

    }

    }

    }

  5. 5

    服务端webservice方法(cxf)

    publicStringuploadImage(Stringfilename,Stringimage){

    FileOutputStreamfos=null;

    try{

    StringtoDir="D:\work\image";//存储路径

    byte[]buffer=newBASE64Decoder().decodeBuffer(image);//对android传过来的图片字符串进行解码

    FiledestDir=newFile(toDir);

    if(!destDir.exists()){

    destDir.mkdir();

    }

    fos=newFileOutputStream(newFile(destDir,filename));//保存图片

    fos.write(buffer);

    fos.flush();

    fos.close();

    return"上传图片成功!"+"图片路径为:"+toDir;

    }catch(Exceptione){

    e.printStackTrace();

    }

    return"上传图片失败!";

    }


  6. 操作步骤

    (1)点击“点击启动相机”按钮,回到拍照模式下,拍照完成,回到初始界面,显示刚拍的照片

    (2)点击“保存照片到服务器”按钮,通过webservice把照片保存到服务器中,TextView显示保存信息。

F. 安卓手机相片怎么传到电脑上

手机几乎是人人都必备的工具,而在智能手机已经普及的今天,安卓手机与电脑的文件互传是极为常见的操作。下面介绍两种常用的安卓手机把照片或文件传到电脑里的方法,有需要的朋友可以参考借鉴。
直接传输法
1/6
安卓手机可以通过数据线(即“USB线”)直接和电脑进行数据传输。首先用数据线连接手机和电脑;

2/6
在弹出的对话框中选择“是,访问数据”;

3/6
双击打开“计算机”;

4/6
找到“便携设备”下的手机设备图标,(这里以“华为mate9”为例)双击打开;

5/6
双击打开“内部储存”;

6/6
在“内部储存”中找到相应文件或图片,将其复制进电脑中即可。

软件传输法
1/9
许多软件支持手机电脑文件互传,下面以QQ为例介绍软件传输法,具体步骤如下:
2/9
打开电脑版QQ,登录账号;

3/9
打开手机QQ,在手机QQ中打开“我的电脑”对话框;

4/9
点击输入框,在弹出的输入菜单中点击“图片”图标或“文件”图标来传输图片或文件;

5/9
传输图片时,点击想要传输的图片右上角选定图片或文件,再点击“发送”即可

6/9
如果是需要从手机上把文件或者小视频传电脑上,则直接选择相应的文件类型,在文件右上方打钩选定再点击“发送”即可

7/9
图片或文件成功发送至电脑;

8/9
打开QQ电脑版中的“我的安卓手机”对话框;

9/9
选定目标文件与照片,保存在电脑上即可。

G. 安卓拍照上传只能拍一次

系统bug。安卓是一个手机系统,其拍照上传只能拍一次是系统bug导致的。只需要将手机关机重新启动即可。

H. 天翼云如何通过Android客户端进行拍照上传

1)点击“拍照上传”按钮进入照片拍摄状态;2)完成拍摄后系统提示“是否要上传”,点击“上传”按钮确定上传;3)完成上传后,照片即可通过各种终端进行浏览。了解更多服务优惠点击下方的“官方网址”客服51为你解答。

I. android 拍照上传

1、拍照时先传Uri

2、拍完后 将原有Uri写入到沙盒里 最终转成File

7.0以下创建路径方法

J. android开发怎么实现拍照上传

这个其实是一个很泛的问题

我大致说下我的思路:

  1. 用startactivityforresult方法调用系统的摄像头,随便拍张照片,把照片保存在某一目录下面

  2. 点击完成后,会在onactivityresult中,根据目录的地址,再把这目录下面的资源得转换为文件,接着通过接口进行提交。提交成功后,后台返回一个URL。

  3. 通过这个URL,运用imageload(第三方插件)显示图片

阅读全文

与android拍照并上传相关的资料

热点内容
android多个布局文件 浏览:625
奔跑程序员 浏览:468
服务器如何搭建类似github 浏览:292
明日之后安卓太卡怎么办 浏览:502
如何使用命令方块找到村庄 浏览:766
泛函压缩映像原理 浏览:521
win10清除文件夹浏览记录 浏览:964
如何查看服务器域中所有服务 浏览:384
学mastercam91编程要多久 浏览:999
如何查服务器地址和端口 浏览:911
教学云平台app怎么下载 浏览:389
单片机510教学视频 浏览:624
陕西信合app怎么查看自己的存款 浏览:663
风冷冰箱有压缩机 浏览:274
android实现wifi连接wifi 浏览:669
飞猪app怎么帮别人值机 浏览:924
笔记本开我的世界服务器地址 浏览:546
怎样隐藏bat命令 浏览:127
android开发创意 浏览:138
京剧猫为什么进不去服务器 浏览:784