`
baobeituping
  • 浏览: 1064845 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

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;

    }
分享到:
评论

相关推荐

    android HttpClient 上传图片

    以上步骤详细介绍了如何使用`HttpClient`在Android应用中上传图片至服务器。需要注意的是,实际项目中可能还需要处理异常、增加超时设置、优化网络请求等操作,以提高应用的稳定性和用户体验。 此外,随着技术的...

    android httpclient文件上传 http协议post get方法向服务器传输数据

    通过学习和理解这些代码,开发者可以更好地掌握如何在Android应用中利用HTTPClient与服务器进行数据交互。 总结来说,本项目通过具体的代码示例,深入浅出地介绍了Android中HTTPClient的使用,包括GET和POST请求的...

    Android HttpClient用到的jar包

    本篇将详细讲解如何利用Apache HttpClient及其相关的jar包在Android环境中进行文件上传。 首先,我们关注的是标题提到的两个jar包:“apache-mime4j-0.6.jar”和“httpmime-4.0.jar”。这两个jar包是HttpClient库的...

    Android使用HttpClient实现上传下载功能并监控进度

    本教程将详细介绍如何利用HttpClient实现文件的上传与下载,并且实时监控进度,以便在UI上显示进度条。 首先,理解HttpClient的基本用法是至关重要的。HttpClient是Apache的一个组件,它提供了丰富的API来构建网络...

    Android 使用HttpClient和第三方MiME文件上传类库,实现文件上传带进度条

    本教程将详细讲解如何利用HttpClient以及第三方MiME(Multipurpose Internet Mail Extensions)文件上传类库,在Android平台上实现文件上传并同时显示进度条。由于HttpClient已经在Android 6.0(API级别23)中被弃用...

    Android基于HttpClient实现文件上传,提供进度条接口实现

    本教程将深入探讨如何利用Apache的HttpClient库实现文件上传,并且在上传过程中提供进度条接口,以便用户可以直观地看到文件传输的进度。我们将不依赖任何第三方jar包,而是直接对httpmime源码进行改造。 首先,...

    android async异步上传图片

    总之,Android中异步上传图片是通过异步任务框架(如AsyncTask)结合HTTP客户端库(如HttpClient)实现的。理解这一过程有助于开发高效、用户体验良好的Android应用。不过,随着技术的演进,开发者应关注最新的网络...

    android文件上传控件

    文件上传通常涉及到网络请求,Android提供了多种方式来实现,如使用HttpURLConnection、HttpClient(已废弃)或第三方库如Volley、OkHttp等。以OkHttp为例,它是一个高效的HTTP客户端,支持异步和同步请求。创建一个...

    android视频和图片的上传(异步)

    三、使用HttpClient上传图片 1. 添加依赖:在Gradle配置文件中引入HttpClient库。 2. 创建HTTP POST请求:使用`HttpPost`对象实例化请求,并设置URL。 3. 创建`MultipartEntity`或`MultipartEntityBuilder`:用于...

    Android 文件上传 带上传进度

    在Android开发中,文件上传是一项常见的任务,尤其是在构建应用程序时,如社交应用、云存储服务等,用户可能需要上传照片、视频或其他类型的文件。本文将详细介绍如何实现一个带有上传进度功能的Android文件上传实例...

    httpclient的三个Apache开源项目的jar包

    这三者结合使用,可以有效地增强Android原生HTTPClient的功能,使其能够处理复杂的HTTP请求,尤其是多部分POST请求,这对于上传多个文件或数据片段到服务器来说是必不可少的。同时,通过HttpCore的高效连接管理,...

    android利用httppost实现和服务器的通讯

    总结起来,Android利用HttpPost实现与服务器的通讯涉及网络访问机制、HTTP协议、HttpClient库的使用,以及异常处理等多个知识点。在实际开发中,要考虑到网络环境的复杂性,提供合适的错误处理和用户体验。同时,...

    commons-codec-1.3.jar,commons-httpclient-3.1.jar,commons-logging-1.1.jar)

    在图片上传中,开发者可能利用HttpClient来发起POST请求,将图片数据作为请求体发送到服务器。 3. **commons-logging-1.1.jar**:这个JAR文件是Apache Commons Logging库的1.1版本。Logging库提供了一个接口层,...

    android截屏上传图片到服务器

    然后,**上传图片到服务器**通常使用HTTP或HTTPS协议,常见的库有Apache的`HttpClient`(已弃用),`Volley`,`Retrofit`,或`OkHttp`。以`OkHttp`为例,创建一个`RequestBody`实例,将图片文件转换成`RequestBody`...

    Android仿微信图片上传

    - 微信上传图片时,通常会提供裁剪功能,允许用户调整图片大小。在Android中,我们可以使用`Bitmap.createBitmap()`和`Bitmap.createBitmapRegionDecoder()`等方法实现裁剪功能。 - 为了减少网络传输的时间和流量...

    Android手机用http上传文件

    在Android平台上,通过HTTP协议上传文件是一项常见的任务,特别是在开发移动应用时,用户可能需要将本地照片、视频或其他数据发送到服务器。本篇文章将详细讲解如何利用`HttpURLConnection`类来实现在Android设备上...

    Android编程实现图片的上传和下载功能示例

    在这里介绍如何利用HttpClient实现图片的上传和下载功能。 1 图片上传:上传图片时,首先获得图片的路径,创建文件,并将图片转化为字节流写入到request,并发送该请求。 客户端代码: File file = new File&#40;...

    httpclient和httpcore和httpmime和opencsv-2.3和ZSDK_ANDROID_API

    在IT行业中,网络通信是应用程序开发的关键组成部分,尤其是在Android应用开发中。`httpclient`、`httpcore`、`httpmime`...开发者需要根据具体需求选择合适的技术栈,并熟悉其API,以便在项目中充分利用它们的优势。

    android上传文件jar

    "android上传文件jar"这个标题暗示我们这里涉及的是一个Android应用程序组件,它利用特定的库(jar文件)来处理文件上传到服务器的过程。描述中提到的"这个是android上传给服务器资源时需要的jar"进一步确认了这一点...

    Android中通过GET和POST方式以及使用HttpClient框架通过网络通信提交参数给web应用案例

    本文将深入探讨如何在Android中利用这两种方式以及HttpClient框架来提交参数给Web应用。 首先,GET和POST的主要区别在于它们处理数据的方式。GET方法通常用于获取资源,其参数附加在URL后面,易于观察但对数据长度...

Global site tag (gtag.js) - Google Analytics