利用POST向服务器发送图片

本地拍照,发送到服务器 "POST"

以二进制byte[]方式发送

一张图片大概为300K左右,一次发送完毕

//post请求
@SuppressLint("HandlerLeak")
public static boolean postRequest(String urlPath, byte[] b){
try{
URL url=new URL(urlPath); 
HttpURLConnection con=(HttpURLConnection)url.openConnection();  
con.setRequestMethod("POST");  
con.setReadTimeout(5*1000);
con.setDoOutput(true);//打开向外输出   
con.setRequestProperty("Content-Type", HTTP.UTF_8);//内容类型   
con.setRequestProperty("Content-Length",String.valueOf(b.length));//长度   
OutputStream outStream=con.getOutputStream();  
outStream.write(b);//写入数据   
outStream.flush();//刷新内存   
outStream.close();
//状态码是不成功
if(con.getResponseCode()==200){  
Log.e("result","传输成功");
return true;  
} else{
Log.v("result", "code = " + con.getResponseCode());
}
}catch(Exception e){
e.printStackTrace();
}
return false;   
}
//耗时操作,开启一个线程
private Runnable mRunnable = new Runnable() {
public void run() {
String ip = "http://192.168.1.100/ZD_BaseDataTrans_SQL/UploadPicture.aspx";
//httpClientpost(imgToBase64(cameraPath, null, null), ip);
postRequest(ip, getImgString(cameraPath, null, null));
mHandler2.sendMessage(mHandler.obtainMessage());
}
};

cameraPath为相片保存的本地路径

时间: 2024-11-05 18:34:25

利用POST向服务器发送图片的相关文章

android客户端向服务器发送图片和文字,类似于发微博。能用json格式发送吗?

============问题描述============ 能的话,请问怎么将图片转成json格式.最好有源码.谢谢 ============解决方案1============ 显然可以,把图片和语音byte 数据打成base64当字符串发出去,组装成json是可以的. 只是这样流量太耗了,一般图片和语音都用byte精简指令发送也就是用tcp socket通信,不用HTTP. ============解决方案2============ 引用 3 楼 u010665680 的回复: Quote: 引

从服务器 (PC 端 ) 发送图片到客户端 (android 手机端 ) [转]

从服务器 (PC 端 ) 发送图片到客户端 (android 手机端 ) ,并在手机页面上显示该图片.(注:本文旨在实现功能,并未考虑效率,有待后续跟进.) 1.服务器端 1 int port=9090; 2 3 4 /** 5 * 发送文件的方法 6 * 此处定义服务器端口为9090,ip地址为192.168.1.1 7 * 设定被传输图片的路径为"images/icon.png" 8 * images文件夹放在此工程的根目录下,我们就可以通过相对路径访问这个图片文件了 9 */ 1

利用HttpURLConnecion通过Nginx向代理邮件服务器发送POST请求

第一步:获取邮件各种参数,通过URLencode和Base64编码之后发送请求参数. 请求参数中,有邮件附件这样的大件,如何当做请求发送呢? 首先,将邮件内容转为字节数组,转为字节数组之后可以当做二进制操作了,保持了附件最原始的面貌,不会被任何其他因素影响. byte[] att= attachment.getContent(); //附件内容 //利用Base64进行加密传输,虽然加密的不够 Base64 base64 = new Base64(); //org.apache.commons.

Android开发:利用AlarmManager不间断向服务器发送请求以及notification通知

一.前言 嗯,其实需求很简单,但是因为服务器不会主动联系客户端,所以客户端必须不间断的向服务器请求以便得到一些数据,突然不知道怎么描述这个问题了,总之,我是通过AlarmManager来实现客户端不断地向服务器发送请求,好吧,往下. 二.实现 客户端不断的发请求,然后通过获得的响应做一些处理就可以了,流程就简简单单的像下面这个图. 第一步:利用AlarmManager开启轮询服务 public class MyAlarmManager { //开启轮询服务 public static void

Java-android使用GridView布局的电子相册&服务器获取图片

转  http://www.tuicool.com/articles/B7JNv2 电子相册的思路: 1.先是考虑布局,我用的是GridView布局 2.GridView中又该怎么显示图片,其实我的这个应用每个图片都是同一个布局,首先要实现适配器接口,再利用充气泵LayoutInflater把布局文件转换成View视图对象 3.怎么从服务器获取图片,又是怎么捉去到的 有思路不等于你会了,直接给你上代码吧: 首先介绍下我的应用的功能: 1.显示的每一张图片,点击后都可以显示出单独的一张,并且是全屏

python使用电子邮件模块smtplib的方法(发送图片 附件)实用可行

Smptp类定义:smtplib.SMTP(host[,port[,local_hostname[,,timeout]]]),作为SMTP的构造函数,功能是与smtp服务器建立连接,在连接成功后,就可以向服务器发送相关请求,比如登陆,校验,发送,退出等.host参数为远程smtp主机地址,比如stmp.163.com;port为连接端口,默认为25:local_hostname的作用是在本地的FQDN(完整的域名)发送HELO/EHLO指令,timeout为连接或尝试在多数秒超时,SMTP类具有

观察HTTP协议中客户端向服务器发送的请求,理解并实现一个最简单的AJAX请求案例

一.什么是HTTP协议 HTTP协议即超文本传输协议,网站就是基于HTTP协议的,例如网站的图片.CSS.JS等都是基于HTTP协议进行传输的.HTTP协议是由从客户机到服务器的请求(Request)和从服务器到客户机的响应(Response)进行了约束和规范. 大白话的说,就是你在浏览器输入一个网址,例如http://baidu.com,这时你就是向百度的服务器发送了请求了....经过一系列你看不到的处理之后,你的浏览器出现一个百度的首页,这就是百度的服务器对你的浏览器的成功的响应. 二.在浏

Android客户端向服务器传递图片(使用Http协议)

使用Http协议向服务器传递图片,那么就要首先了解Http协议这个报文里边的信息格式: web端传递图片一般都是使用表单的形式来传递的,通过post的形式传递的,在这里要使用到两个jar包,分别是:commons-fileupload.jar和commons-io.jar这俩jar包. 下边来说一说Http协议上传文件头文件的格式: 其实我们这种前后台的交互是用的HTTP协议.而http协议默认是传的字符串.所以我们上传文件的话要加enctype = "multipart/form-data&q

Android之通过向WebService服务器发送XML数据获取相关服务

原理图如下: 即客户端向WebService服务器通过HTTP协议发送XML数据(内部包含调用的一些方法和相关参数数据),然后WebService服务器给客户端返回一定的XML格式的数据,客户端通过解析这些XML数据即可得到需要的数据. 具体实现过程如下: 建立一个HTTP连接: 通过加载一个XML格式的SOAP协议数据,把该数据封装成实体并通过HTTP请求发送给WebService服务器: 获得WebService服务器返回的XML数据,通过解析获得需要的数据.   一些提供免费的WebSer