前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文件图片上传

文件图片上传

作者头像
xiangzhihong
发布2018-01-29 10:18:00
4.2K0
发布2018-01-29 10:18:00
举报
文章被收录于专栏:向治洪向治洪向治洪
package com.home.upload;  
 
import java.io.File;  
import java.nio.charset.Charset;  
import java.util.ArrayList;  
import java.util.List;  
 
import org.apache.http.HttpResponse;  
import org.apache.http.client.HttpClient;  
import org.apache.http.client.methods.HttpPost;  
import org.apache.http.entity.mime.MultipartEntity;  
import org.apache.http.entity.mime.content.FileBody;  
import org.apache.http.entity.mime.content.StringBody;  
import org.apache.http.impl.client.DefaultHttpClient;  
import org.apache.http.params.BasicHttpParams;  
import org.apache.http.params.HttpConnectionParams;  
import org.apache.http.util.EntityUtils;  
 
import android.app.Activity;  
import android.os.Bundle;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
 
public class MainActivity extends Activity implements OnClickListener {  
 private Button uploadBtn;  
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) {  
 super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        uploadBtn = (Button) findViewById(R.id.main_btn);  
        uploadBtn.setOnClickListener(this);  
    }  
 
 @Override 
 public void onClick(View v) {  
 if (v == uploadBtn) {  
 final List<String> list = new ArrayList<String>();  
            list.add("/storage/sdcard0/updateAdtech/orgpic/1.png");  
            list.add("/storage/sdcard0/updateAdtech/orgpic/2.png");  
 new Thread() {  
 public void run() {  
                    postMethod("just test", "sdcard/image/a.amr", list);  
                };  
            }.start();  
        }  
    }  
 
 /** 
     *  
     * @Description: 上传方法 
     *  
     * @param audioPath 
     *            上传音频文件地址 例:sdcard/image/a.amr 
     *  
     * @param text 
     *            上传文本的值 
     *  
     * @param imageUrlList 
     *            图片地址的集合 例:sdcard/image/a.jpg, sdcard/image/b.jpg 
     *  
     * @return void 
     */ 
 
 private synchronized void postMethod(String text, String audioPath,  
            List<String> imageUrlList) {  
 try {  
            String[] filePath = new String[imageUrlList.size()];  
 int size = imageUrlList.size();  
 for (int i = 0; i < size; i++) {  
                filePath[i] = imageUrlList.get(i);  
            }  
 // 链接超时,请求超时设置 
            BasicHttpParams httpParams = new BasicHttpParams();  
            HttpConnectionParams.setConnectionTimeout(httpParams, 10 * 1000);  
            HttpConnectionParams.setSoTimeout(httpParams, 10 * 1000);  
 
 // 请求参数设置 
            HttpClient client = new DefaultHttpClient(httpParams);  
            HttpPost post = new HttpPost(  
 "http://service.ireadhome.com/api/Upload/Image");  
            MultipartEntity entity = new MultipartEntity();  
 // 上传 文本, 转换编码为utf-8 其中"text" 为字段名, 
 // 后边new StringBody(text, 
 // Charset.forName(CHARSET))为参数值,其实就是正常的值转换成utf-8的编码格式 
            entity.addPart("text",  
 new StringBody(text, Charset.forName("UTF-8")));  
 // 上传多个文本可以在此处添加上边代码,修改字段和值即可 
 
 // 上传音频文件 
            entity.addPart("audio",  
 new FileBody(new File(audioPath), "audio/*"));  
 // 上传图片 
 for (String p : filePath) {  
                entity.addPart("fileimg", new FileBody(new File(p), "image/*"));  
            }  
            post.setEntity(entity);  
            HttpResponse resp = client.execute(post);  
 // 获取回调值 
            System.out.println("Response:" 
                    + EntityUtils.toString(resp.getEntity()));  
            System.out.println("StatusCode:" 
                    + resp.getStatusLine().getStatusCode());  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
}  
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-01-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档