導航:首頁 > 操作系統 > 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拍照並上傳相關的資料

熱點內容
明日之後安卓太卡怎麼辦 瀏覽: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
怎麼自己免費製作一個手機app 瀏覽:582
python同時迭代兩個變數 瀏覽:740
好分數app家長版怎麼刪除孩子 瀏覽:426