Base64實現android端圖片上傳到server端

來源:互聯網
上載者:User

標籤:

首先要下載Base64.java檔案http://iharder.sourceforge.net/current/java/base64/

將代碼複製到project中。

然後上代碼:

android端代碼:

private void setPicToView(Intent picdata) {
            Bundle extras = picdata.getExtras();
            if (extras != null) {
                 mBitmap = extras.getParcelable("data");
                view_images.setImageBitmap(mBitmap);
                
                LogUtil.i("運行reg", "運行了嗎?");
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                 //將bitmap一位元組流輸出 Bitmap.CompressFormat.PNG 壓縮格式,100:壓縮率。baos:位元組流
                mBitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
                try {
                    baos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                byte[] buffer = baos.toByteArray();
                LogUtil.i("圖片大小", buffer.length+"");
                //將圖片的位元組流資料加密成base64字元輸出
                 photo = Base64.encodeBytes(buffer);
            }
        }

server端代碼:

public static void SaveImages(String photo,String filePath){
        String imageName = new IPTimeStamp().getIPTimestamp()+".png";
        try {
            //對base64資料進行解碼  產生位元組數組。
            byte[] photoimg = new BASE64Decoder().decodeBuffer(photo);
            for(int i=0;i<photoimg.length;i++){
                if(photoimg[i]<0){
                    //調整異常資料
                    photoimg[i] += 256;
                }
            }
//            SysUtil.SysOut("圖片的大小:" + photoimg.length);  
            File file = new File(filePath,imageName);  //建立一個目錄 往裡面寫入圖片
            if (!file.exists()) {  
                file.createNewFile();                    //file.mkdirs()建立一個目錄,file.createNewFile()建立一個檔案
            }  
            FileOutputStream out = new FileOutputStream(file);  
            out.write(photoimg);  
            out.flush();  
            out.close();  
        } catch (Exception e) {
            // TODO: handle exception
        }

Base64實現android端圖片上傳到server端

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.