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 ...
随机推荐
- selenium IDE--录制和回放脚本
1 selenium IDE--录制脚本 准备工作:firefox 浏览器安装了selenium IDE 插件 实例:打开百度搜索“软件测试” firefox浏览器打开网址:https://www.b ...
- log4j.properties配置文件
#配置根 Logger,其语法为:log4j.rootLogger = level,appenderName1,appenderName2,... #优先级:ALL < DEBUG < I ...
- 类模板的困扰 LNK2019 (转)
原文地址:http://www.eetop.cn/blog/html/93/493893-14903.html 在使用类模板技术时,可在.h中实现,也可在.h和.cpp中分开实现,若用.h实现,不要在 ...
- 用fabric部署维护kle日志收集系统
最近搞了一个logstash kafka elasticsearch kibana 整合部署的日志收集系统.部署参考lagstash + elasticsearch + kibana 3 + kafk ...
- php中用于接受表单数据的$_request与$_post、$_get
一.$_request与$_post.$_get的区别和特点 $_REQUEST[]具用$_POST[] $_GET[]的功能,但是$_REQUEST[]比较慢.通过post和get方法提交的所有数据 ...
- 集合类 Collection
1.Collection接口有两个子接口: List:保存元素顺序的线性表,允许有重复元素. Set:不记录元素的保存顺序,不允许有重复元素.数学中的集合 Collection接口中的方法如下: Co ...
- 快速编写HTML,CSS代码的有力工具Emmet插件
Emmet 是一个编辑器插件,它以一种简写的语法规则可用于快速编写html或css文档内容,它支持多种编辑器. 从官网:http://emmet.io/ 可下载各个编辑器的插件.notepad++ 插 ...
- 7 天玩转 ASP.NET MVC — 第 4 天
目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第四天的 MVC 系列学习中.如果你直接开始学习今天的课程,我强烈建议你先完成之前的学习内 ...
- POJ 2100
Graveyard Design Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 4443 Accepted: 946 ...
- js-jQuery对象与dom对象相互转换
http://blog.csdn.net/jueshengtianya/article/details/8823091 核心提示:jquery选择器得到的jquery对象和标准的 javascri ...