Android 通過(guò)webservice上傳多張圖片到指定服務(wù)器詳解
Android 通過(guò)webservice上傳多張圖片到指定服務(wù)器詳解
當(dāng)你瀏覽這個(gè)的時(shí)候相信你對(duì)webservice的基本應(yīng)用已經(jīng)有一定的了解了,若是還沒(méi)有明白的小伙伴,可以看我前面寫(xiě)的文章點(diǎn)擊打開(kāi)鏈接,這幾天在開(kāi)發(fā)一款app,需要上傳圖片到指定服務(wù)器吧,但是我剛開(kāi)始以為在網(wǎng)上面應(yīng)該有這樣的好文章的吧,結(jié)果我在網(wǎng)絡(luò)上找了好多代碼,在傳遞圖片的過(guò)程中,遇到各種bug,真是國(guó)人的東西就是喜歡復(fù)制別人的,自己不動(dòng)手檢驗(yàn)一下代碼的正確性,哎,我也是無(wú)語(yǔ)了,然后我決定花點(diǎn)時(shí)間來(lái)填補(bǔ)一下這個(gè)空缺,寫(xiě)了這一片博文,讓小伙伴們不走彎路,,首先我修改的網(wǎng)上的錯(cuò)誤代碼,Android端代碼如下:這個(gè)是在異步類的一個(gè)方法里面,doInBackground(String... params)
InputStream fis; try { fis = new FileInputStream(params[0]+params[1]);//params[0]為文件路徑,params[1]為文件名稱 ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte[4096]; int count =-1; String uploadBuffer = null ; try { while((count = fis.read(buffer))!=-1){ baos.write(buffer, 0, count); uploadBuffer=Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT); //進(jìn)行Base64編碼Base64.DEFAULT這個(gè)不能換成count } SoapObject soapObject=webServiceBase.getBaseSimpleData(params[1],uploadBuffer,"getImageFromAndroid",AgbcApi.TASKSERVICEURL); reque=soapObject.getProperty(0).toString(); } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e1) { e1.printStackTrace(); }
服務(wù)端代碼
public String getImageFromAndroid(String filename, String image){ OutputStream fos = null; try{ Date date=new Date(); DateFormat format=new SimpleDateFormat("yyyy-MM-dd"); String time=format.format(date); String toDir = "d:\\Program Files\\images\\"+time+"\\"; //存儲(chǔ)路徑 byte[] buffer = new BASE64Decoder().decodeBuffer(image); //對(duì)android傳過(guò)來(lái)的圖片字符串進(jìn)行解碼 File destDir = new File(toDir); if(!destDir.exists()) destDir.mkdir(); fos = new FileOutputStream(new File(toDir,filename)); //保存圖片 fos.write(buffer); fos.flush(); fos.close(); return "上傳圖片成功!" + "圖片路徑為:" + toDir; }catch (Exception e){ e.printStackTrace(); } return "上傳圖片失??!";
這樣只要調(diào)用服務(wù)端方法就可以上傳圖片了
然而,你認(rèn)為到這就完了嗎???沒(méi)有沒(méi)有啦!這只能是一張一張圖片的上傳,可是有時(shí)候我們需要批量的圖片上傳,怎么辦呢?既然一張圖片都搞定了,何況多上圖片,用一個(gè)循環(huán)不就實(shí)現(xiàn)了,然而的然而,都怪我們年少輕狂呀,事情往往不是這個(gè)簡(jiǎn)單的,請(qǐng)看這篇文章:http://chabaoo.cn/article/106650.htm
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android將圖片上傳到php服務(wù)器的實(shí)例代碼
- Android讀取服務(wù)器圖片的三種方法
- Android 通過(guò)Base64上傳圖片到服務(wù)器實(shí)現(xiàn)實(shí)例
- Android選擇圖片或拍照?qǐng)D片上傳到服務(wù)器
- Android開(kāi)發(fā)中調(diào)用系統(tǒng)相冊(cè)上傳圖片到服務(wù)器OPPO等部分手機(jī)上出現(xiàn)短暫的顯示桌面問(wèn)題的解決方法
- Android Socket服務(wù)端與客戶端用字符串的方式互相傳遞圖片的方法
- Android使用post方式上傳圖片到服務(wù)器的方法
- Android異步上傳圖片到PHP服務(wù)器
- Android從服務(wù)器獲取圖片的實(shí)例方法
- android傳送照片到FTP服務(wù)器的實(shí)現(xiàn)代碼
相關(guān)文章
Android Jetpack導(dǎo)航組件Navigation創(chuàng)建使用詳解
這篇文章主要為大家介紹了Android Jetpack導(dǎo)航組件Navigation創(chuàng)建及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Android程序結(jié)構(gòu)簡(jiǎn)單講解
在本篇文章里小編給大家分享一篇關(guān)于Android程序結(jié)構(gòu)的簡(jiǎn)單說(shuō)明內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。2019-02-02Android中搜索圖標(biāo)和文字居中的EditText實(shí)例
本篇文章主要介紹了Android中搜索圖標(biāo)和文字居中的EditText實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-06-06Android給TextView添加點(diǎn)擊事件的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇Android給TextView添加點(diǎn)擊事件的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12Kotlin示例講解標(biāo)準(zhǔn)函數(shù)with與run和apply的使用
Kotlin的標(biāo)準(zhǔn)函數(shù)是指 Standard.kt 文件中定義的函數(shù),任何Kotlin代碼都可以自由地調(diào)用所有的標(biāo)準(zhǔn)函數(shù)。文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-08-08