① 使用android上傳圖片到伺服器,並且把圖片保存到伺服器的某個文件夾里
有兩種方法,第一,把你的圖片轉成位元組流,然後用post方法把位元組流傳到服務端,然後服務端接收到位元組流之後,開啟一個線程把它重新壓縮成圖片,保存在某個文件夾下面。
第二,開啟一個線程,用socket直接把圖片放到stream中傳到服務端,服務端接收後保存到文件夾下。
② (android )怎麼在一個ImageView中顯示多張圖片,並可設置圖片的位置謝謝!
在一個ImageView中顯示多張圖片的過程與原理實際是:將多張圖片縮放重定位後重繪到一張圖然後顯示出來。
典型的應用有縮略圖、水印等應用。
具體實現的關鍵代碼如下:
Bitmap icon = Bitmap.createBitmap(width, hight, Bitmap.Config.ARGB_8888); //建立一個空的圖畫板
Canvas canvas = new Canvas(icon);//初始化畫布繪制的圖像到icon上
Paint photoPaint = new Paint(); //建立畫筆
Rect dst = new Rect(0, 0, width, hight);//創建一個指定的新矩形的坐標
canvas.drawBitmap(photo, src, dst, photoPaint);//將photo 縮放或則擴大到 dst使用的填充區photoPaint
canvas.save(Canvas.ALL_SAVE_FLAG);
image.setImageBitmap(icon);
③ android 文件流的方式多張圖片上傳,並多個參數
android 開發中圖片上傳是很正常的,有兩種可用的方式:
下面我們就說明一下以文件流上傳圖片的方式, 實現網路框架是Retrofit
測試上傳3張手機sd卡中的圖片,並傳人了參數EquipmentCode, Description, ReportUserCode等
其中的思路是: Post的方式,Content-Type:multipart/form-data的類型進行上傳文件的。
其中MultipartBody是RequestBody的擴展,
看看請求頭的信息, 請求中攜帶了所有信(如果介面開發人員說不能收到, 叫他自己想想,截圖給他,哈哈哈:)
上面的是上傳了3張圖片,如果一張,只要傳一個就行!
就這樣,圖片上傳的兩種方式ok拉,測試通過的,保證正確!
參考: https://www.jianshu.com/p/acfefb0a204f
④ android如何從伺服器取多張圖片,在本地保存並顯示
//獲取connection conn = getURLConnection(url); is = conn.getInputStream(); //獲取Bitmap的引用 Bitmap bitmap = BitmapFactory.decodeStream(is) //獲取長度 int length = (int) conn.getContentLength(); if (length != -1) { byte[] imgData = new byte[length]; byte[] temp=new byte[512]; int readLen=0; int destPos=0; while((readLen=is.read(temp))>0){ System.array(temp, 0, imgData, destPos, readLen); destPos+=readLen; } bitmap=BitmapFactory.decodeByteArray(imgData, 0, imgData.length); }可能想得不是很完善,你可以參考參考。