android-HttpClient上传信息(包括图片)到服务端
需要下载apache公司下的HttpComponents项目下的HTTPCLIENT
----------地址为http://hc.apache.org/downloads.cgi
主要是用到了httpmime-4.1.2.jar包
android客户端:
以下是请求action的jsp表单(测试用)
(
<form action="AddFoodStyle" enctype="multipart/form-data" method="post">
<div style="width:300px;">
<s:textfield label="菜式名称" name="foodname"></s:textfield><br/>
<s:select name="foodstyle" list="list" label="菜式类别" listKey="Itemid" listValue="itemname" > </s:select><br/>
<s:textfield label="菜式价格" name="price"></s:textfield><br/>
<s:file label="菜式图片" name="foodimg"></s:file><br/>
<s:textarea label="菜式标签" name="foodtab" cols="20" cssStyle=""></s:textarea><br/>
<s:textfield label="菜式状态" name="state"></s:textfield><br/>
<s:submit value="添加"/>
</div>
</form>
模拟构造上面的请求表单:
private String url="http://192.168.2.189:8080/MyOrderMeal/AddFoodStyle";
HttpClient httpclient= new DefaultHttpClient();
HttpPost httpPost= new HttpPost(url);
MultipartEntity mulentity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
mulentity.addPart("foodname", new StringBody(foodname.getText().toString().trim()));
mulentity.addPart("foodstyle", new StringBody(foodstyle.getText().toString().trim()));
mulentity.addPart("price", new StringBody(foodprice.getText().toString().trim()));
//添加图片表单数据
FileBody filebody = new FileBody(this.image);
mulentity.addPart("foodimg",filebody );
mulentity.addPart("foodtab", new StringBody(foodtab.getText().toString().trim()));
mulentity.addPart("state", new StringBody("1"));
httpPost.setEntity(mulentity);
HttpResponse response = httpclient.execute(httpPost);
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK)
{
makeToase("上传成功",true);
if(this.image.exists())
this.image.delete();
}
else
{
makeToase("上传失败",true);
}
)
服务端:action的配置
<action name="AddFoodStyle" class="com.ordermeal.xiao.action.AddFoodStyle">
<result name="success" type="redirect">/ShowAddFoodStyle</result>
</action>
action的编写
public class AddFoodStyle extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = -8380963167787044860L;
private String foodname;
private Integer foodstyle;
private Double price;//接收上传文件
private File foodimg;
private String foodimgFileName;
private String foodimgContentType;
private String foodtab;private Integer state;
、、、、省略get set方法
@Override
public String execute() throws Exception {
FoodStyleDao fsd = DaoFactory.getFoodStyleDao();
FoodStyle foodstyleob= new FoodStyle();
foodstyleob.setFoodname(foodname);
foodstyleob.setMystyletype(foodstyle);
foodstyleob.setFoodprice(price);
foodstyleob.setImageurl(foodimgFileName);
foodstyleob.setFoodtab(foodtab);
foodstyleob.setFdstystate(state);
fsd.addFoodStyle(foodstyleob);String path= ServletActionContext.getServletContext().getRealPath("/");
//保存上传文件
FileUtil.copyFile(foodimg, path+"/images/"+foodimgFileName);
return SUCCESS;
}
//参考 http://blog.csdn.net/liwei3gjob/article/details/7870353
android-HttpClient上传信息(包括图片)到服务端的更多相关文章
- Android 批量上传sd卡图片
最近手头上需要批量上传一些保存到SD卡图片由于简单,过于忘记,写在博客中吧!同时也希望能帮到大家! 一 . 以下是一个Service类 package cn.com.service; import j ...
- Qt通过HTTP POST上传文件(python做服务端,附下载)
本文使用Qt Creator用HTTP POST的方法上传文件,并给出一个上传文件的例程. 本文主要客户端,所以对于服务器端程序编写的描述会比较简略 服务器使用Django编写,django服务器接收 ...
- android+nutz后台如何上传和下载图片
android+nutz后台如何上传和下载图片 发布于 588天前 作者 yummy222 428 次浏览 复制 上一个帖子 下一个帖子 标签: 无 最近在做一个基于android的ap ...
- .NET WebAPI 实现图片上传(包括附带参数上传图片)
博主的项目,客户端是APP,考虑到以后也可能会应用到微信端.网站等,图片上传方法就需要兼容多端,并且以目前的设计,不允许非登录用户上传图片,就得在上传时解决附带参数上传图片的问题. 先来看看后台方法( ...
- dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.
http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术 ...
- HttpClient上传下载文件
HttpClient上传下载文件 java HttpClient Maven依赖 <dependency> <groupId>org.apache.httpcomponents ...
- 微信开发中使用微信JSSDK和使用URL.createObjectURL上传预览图片的不同处理对比
在做微信公众号或者企业微信开发业务应用的时候,我们常常会涉及到图片预览.上传等的处理,往往业务需求不止一张图片,因此相对来说,需要考虑的全面一些,用户还需要对图片进行预览和相应的处理,在开始的时候我使 ...
- android 拍照上传文件 原生定位
最近公司需要一个android拍照上传和定位功能的的单一功能页面,一开始选择ionic cordova angular的一套H5框架,但是遇到和上传文件报错的问题,bug找了一天没找到原因,怀疑是io ...
- html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器
以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上 ...
- Ueditor 1.4.3.1 使用 ThinkPHP 3.2.3 的上传类进行图片上传
在 ThinkPHP 3.2.3 中集成百度编辑器最新版 Ueditor 1.4.3.1,同时将编辑器自带的上传类替换成 ThinkPHP 3.2.3 中的上传类. ① 下载编辑器(下载地址:http ...
随机推荐
- oracle数据库登录连接很慢;kettle连接oracle 报 IO 错误,socket time out 问题解决记录
问题描述: 1:oracle数据库连接登陆时突然变得很慢:sqldeveloper链接数据库很慢: 2:Kettle-spoon etl程序访问数据库,任务执行时报 :数据库连接 IO错误 :Sock ...
- 编译器手工开栈(hdu可以其他可以尝试)
做题的时候经常遇到深度递归的,当然也可以改成非递归形式.如果写成递归形式会爆栈,所以可以用手工扩展栈. C++ (一般用C++提交,所以就推荐这种了) #pragma comment(linker, ...
- 手机开发Android模拟器genymotion
手机开发的时候总会碰到一个问题,eclipse插件自带的android模拟器太慢了. 根据网络上有人推荐使用genymotion模拟器. 主要的操作步骤如下: 1.在genymotion网站注册账 ...
- weiapi2.2 HelpPage自动生成接口说明文档和接口测试功能
在开发Webapi项目时每写完一个方法时,是不是需要添加相应的功能说明和测试案例呢?为了更简单方便的写说明接口文档和接口测试HelpPage提供了一个方便的途径. 她的大致原理是:在编译时会生成.dl ...
- JS 学习笔记--8---Function类型
练习使用的浏览器IE11 JS 中Function类型实际上是一种对象,每一个函数实际上都是Function类型的一个实例,每一个函数都有一些默认的属性和方法.由于函数是对象,故函数名实际上也是一 ...
- bzoj 3232 01分数规划+最大权封闭子图判定
我们的目标是使v/c最小化,所以构造函数g(x)=v-x*c,那么 二分一个X,判断当时的v-x*c的值是多少,然后根据g(x)函数的 单调递减性来二分,判断,直到g(x)=0的时候当前的X就是答案. ...
- ajax跨域请求,页面和java服务端的写法
方法一(jsonp): 页面ajax请求的写法: $.ajax({ type : "get", async : false, cache : false, url : " ...
- Altium Designer 使用小结
今天刚把做好的PCB文件交给工厂去制板,阶段工作告一段落,来一个小总结. 前一段时间复习完C语言之后,在中国知网上搜索用单片机实现的小制作,找比较有意思,又不需要太多外专业知识的东西,然后就相中了超声 ...
- 7 天玩转 ASP.NET MVC - 第 1 天
0. 前言 正如标题「7 天玩儿转 ASP.NET MVC」所言,这是个系列文章,所以将会向大家陆续推出 7 篇.设想一下,一天一篇,你将从一个愉快的周一开始阅读,然后在周末成为一个 ASP.NET ...
- HDU 4006 The kth great number(multiset(或者)优先队列)
题目 询问第K大的数 //这是我最初的想法,用multiset,AC了——好吧,也许是数据弱也有可能 //multiset运用——不去重,边插入边排序 //iterator的运用,插入的时候,如果是相 ...