① 使用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); }可能想得不是很完善,你可以参考参考。