需要下载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上传信息(包括图片)到服务端的更多相关文章

  1. Android 批量上传sd卡图片

    最近手头上需要批量上传一些保存到SD卡图片由于简单,过于忘记,写在博客中吧!同时也希望能帮到大家! 一 . 以下是一个Service类 package cn.com.service; import j ...

  2. Qt通过HTTP POST上传文件(python做服务端,附下载)

    本文使用Qt Creator用HTTP POST的方法上传文件,并给出一个上传文件的例程. 本文主要客户端,所以对于服务器端程序编写的描述会比较简略 服务器使用Django编写,django服务器接收 ...

  3. android+nutz后台如何上传和下载图片

    android+nutz后台如何上传和下载图片  发布于 588天前  作者 yummy222  428 次浏览  复制  上一个帖子  下一个帖子  标签: 无 最近在做一个基于android的ap ...

  4. .NET WebAPI 实现图片上传(包括附带参数上传图片)

    博主的项目,客户端是APP,考虑到以后也可能会应用到微信端.网站等,图片上传方法就需要兼容多端,并且以目前的设计,不允许非登录用户上传图片,就得在上传时解决附带参数上传图片的问题. 先来看看后台方法( ...

  5. dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.

    http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术 ...

  6. HttpClient上传下载文件

    HttpClient上传下载文件 java HttpClient Maven依赖 <dependency> <groupId>org.apache.httpcomponents ...

  7. 微信开发中使用微信JSSDK和使用URL.createObjectURL上传预览图片的不同处理对比

    在做微信公众号或者企业微信开发业务应用的时候,我们常常会涉及到图片预览.上传等的处理,往往业务需求不止一张图片,因此相对来说,需要考虑的全面一些,用户还需要对图片进行预览和相应的处理,在开始的时候我使 ...

  8. android 拍照上传文件 原生定位

    最近公司需要一个android拍照上传和定位功能的的单一功能页面,一开始选择ionic cordova angular的一套H5框架,但是遇到和上传文件报错的问题,bug找了一天没找到原因,怀疑是io ...

  9. html5 图片上传,支持图片预览、压缩、及进度显示,兼容IE6+及标准浏览器

    以前写过上传组件,见 打造 html5 文件上传组件,实现进度显示及拖拽上传,兼容IE6+及其它标准浏览器,对付一般的上传没有问题,不过如果是上传图片,且需要预览的话,就力有不逮了,趁着闲暇时间,给上 ...

  10. Ueditor 1.4.3.1 使用 ThinkPHP 3.2.3 的上传类进行图片上传

    在 ThinkPHP 3.2.3 中集成百度编辑器最新版 Ueditor 1.4.3.1,同时将编辑器自带的上传类替换成 ThinkPHP 3.2.3 中的上传类. ① 下载编辑器(下载地址:http ...

随机推荐

  1. Codeforces Round #277.5 (Div. 2)

    题目链接:http://codeforces.com/contest/489 A:SwapSort In this problem your goal is to sort an array cons ...

  2. fpu栈溢出

    老大们遇到个问题,有一堆浮点数运算,分开写就对,合一起就溢出. 是因为定义的函数返回float的时候,别的地方声明是void错了,这样的错误累计八次之后,浮点数寄存器就满了.没地方放就错了. 函数前面 ...

  3. jdbc读取数据库表

    把结果集封装为List // 通过结果集元数据封装List结果集 public static List<Map<String, Object>> read(String sql ...

  4. [工作记录] Android OpenGL ES 2.0: square texture not supported on some device

    npot texture: non-power-of-two texture.rectangle texture: non-square (height != wdith) 在测试Samsumg Ga ...

  5. Websphere中静态资源配置

    Tomcat, Jetty, JBoss, GlassFish 自带的默认Servlet的名字 default Google App Engine 自带的 默认Servlet的名字 ah_defaul ...

  6. SSH无密码验证

    一.安装和启动SSH协议 sudo yum install ssh sudo yum install rsync service sshd restart 启动服务 (rsync是一个远程数据同步工具 ...

  7. ASP.NET 应用程序安全

    原文:http://msdn.microsoft.com/zh-cn/magazine/hh708755.aspx 一.跨站点脚本 简介 XSS 攻击是指将脚本恶意注入用户的浏览会话,这通常在用户不知 ...

  8. leetcode single number系列

    这个系列一共有三题,第一题是一组数里除了一个数出现一次之外,其他数都是成对出现,求这个数. 第二题是一组数里除了两个数出现一次外,其他数都是成对出现,求这两个数 第三题是一组数里除了一个数出现一次外, ...

  9. 大一暑假为期五周的ACM实验室培训结束了(2013.8.24)

    没想到,我的大学里第一个暑假,9周的时间只有最初的两周在家待着,接下来的7周将会在学校度过. 说真的,这是我上学以来,第一次真正好好利用的假期.在这五周里,周一.三.五下午学长都会给我们讲点知识,之后 ...

  10. YAPF:Google开源的Python代码格式化工具

    点这里 现在的大多数 Python 代码格式化工具(比如:autopep8 和 pep8ify)是可以移除代码中的 lint 错误.这显然有些局限性.比如:遵循 PEP 8 指导的代码可能就不会被格式 ...