Android上传多张图片到服务器

问题描述

Android上传多张图片到服务器
单张上传我已经成功了,不知道怎么处理多张图片上传,求求求求解!!!

解决方案

http://download.csdn.net/download/javalishilong/6312977

解决方案二:
private void toUploadFile(File file String fileKey String RequestURL
Map param) {
String result = null;
requestTime= 0;

    long requestTime = System.currentTimeMillis();    long responseTime = 0;    try {        URL url = new URL(RequestURL);        HttpURLConnection conn = (HttpURLConnection) url.openConnection();        conn.setReadTimeout(readTimeOut);        conn.setConnectTimeout(connectTimeout);        conn.setDoInput(true); // 允许输入流        conn.setDoOutput(true); // 允许输出流        conn.setUseCaches(false); // 不允许使用缓存        conn.setRequestMethod(""POST""); // 请求方式        conn.setRequestProperty(""Charset"" CHARSET); // 设置编码        conn.setRequestProperty(""connection""keep-alive"");        conn.setRequestProperty(""user-agent""Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"");        conn.setRequestProperty(""Content-Type"" CONTENT_TYPE + "";boundary="" + BOUNDARY);

// conn.setRequestProperty(""Content-Type""application/x-www-form-urlencoded"");

        /**         * 当文件不为空,把文件包装并且上传         */        DataOutputStream dos = new DataOutputStream(conn.getOutputStream());        StringBuffer sb = null;        String params = """";        /***         * 以下是用于上传参数         */        if (param != null && param.size() > 0) {            Iterator<String> it = param.keySet().iterator();            while (it.hasNext()) {                sb = null;                sb = new StringBuffer();                String key = it.next();                String value = param.get(key);                sb.append(PREFIX).append(BOUNDARY).append(LINE_END);                sb.append(""Content-Disposition: form-data; name="""").append(key).append("""""").append(LINE_END).append(LINE_END);                sb.append(value).append(LINE_END);                params = sb.toString();                Log.i(TAG key+""=""+params+""##"");                dos.write(params.getBytes());

// dos.flush();
}
}

        sb = null;        params = null;        sb = new StringBuffer();        /**         * 重点注意: name里面的值为服务器端需要key 只有这个key 才可以得到对应的文件         * filename是文件的名字,包含后缀名的 比如:abc.png         */        sb.append(PREFIX).append(BOUNDARY).append(LINE_END);        sb.append(""Content-Disposition:form-data; name="""" + fileKey                + """"; filename="""" + file.getName() + """""" + LINE_END);        sb.append(""Content-Type:image/pjpeg"" + LINE_END); // 这里配置的Content-type很重要的 ,用于服务器端辨别文件的类型的        sb.append(LINE_END);        params = sb.toString();        sb = null;        Log.i(TAG file.getName()+""="" + params+""##"");        dos.write(params.getBytes());        /**上传文件*/        InputStream is = new FileInputStream(file);        onUploadProcessListener.initUpload((int)file.length());        byte[] bytes = new byte[1024];        int len = 0;        int curLen = 0;        while ((len = is.read(bytes)) != -1) {            curLen += len;            dos.write(bytes 0 len);            onUploadProcessListener.onUploadProcess(curLen);        }        is.close();        dos.write(LINE_END.getBytes());        byte[] end_data = (PREFIX + BOUNDARY + PREFIX + LINE_END).getBytes();        dos.write(end_data);        dos.flush();

//

// dos.write(tempOutputStream.toByteArray());
/**
* 获取响应码 200=成功 当响应成功,获取响应的流
*/
int res = conn.getResponseCode();
responseTime = System.currentTimeMillis();
requestTime = (int) ((responseTime-requestTime)/1000);
Log.e(TAGresponse code:"" + res);
if (res == 200) {
Log.e(TAGrequest success"");
InputStream input = conn.getInputStream();
StringBuffer sb1 = new StringBuffer();
int ss;
while ((ss = input.read()) != -1) {
sb1.append((char) ss);
}
result = sb1.toString();
Log.e(TAGresult : "" + result);
sendMessage(UPLOAD_SUCCESS_CODE上传结果:""
+ result);
return;
} else {
Log.e(TAGrequest error"");
sendMessage(UPLOAD_SERVER_ERROR_CODE上传失败:code="" + res);
return;
}
} catch (MalformedURLException e) {
sendMessage(UPLOAD_SERVER_ERROR_CODE上传失败:error="" + e.getMessage());
e.printStackTrace();
return;
} catch (IOException e) {
sendMessage(UPLOAD_SERVER_ERROR_CODE上传失败:error="" + e.getMessage());
e.printStackTrace();
return;
}
}

这是我的部分代码,请问怎么改啊?

解决方案三:
Android上传多张图片到服务器上传视频到服务器......
答案就在这里:Android 上传多张图片到服务器

解决方案四:
给个循环 一张一张传也可以吧,有多少张图片调用多少次上传的方法

解决方案五:
循环的方式 上传,试一试。QQ空间上传图片不就是一张张上传吗

时间: 2024-09-15 09:24:56

Android上传多张图片到服务器的相关文章

上传多张图片到服务器,怎么在页面上用树形结构显示该文件夹下的文件名,并且可以点击显示出图片

问题描述 我编写了一个struts2的图像上传到服务器的程序,现在想把上传图像的服务器文件夹下的全部图像文件按文件资源管理器那样的树型结构显示在jsp页面上,并且能点击相应的文件名就能显示相应的图片,最好能给个完整的代码/思路,包括action怎么写,jsp怎么写,网上找不到没有完全类似的,求助. 解决方案

Android ksoap调用webservice批量上传多张图片详解

Android ksoap调用webservice批量上传多张图片详解 这几天一直在开发app,哎呀,什么都是第一接触,想想自己自学Java,然后自学Android,一直没有放弃,曾想放弃的,但是想到爸妈供我上学,不能在宿舍里面玩游戏,加入学校实验室,一天没课就来着里学习,当然这里也有志同道合的人,一起努力一起进步!虽然大学这几年都在努力的学习技术,也没有参加什么活动的,更别说找个女伴了!还是老老实实的敲代码,成功给我带来巨大的潜能,新技术总是吸引着我.自己做项目,哎呀!好像说偏题了,言归正传吧

android使用get上传注册信息到服务器返回json数据

问题描述 android使用get上传注册信息到服务器返回json数据 学习使用谢谢大家 android使用get上传注册信息到服务器返回json数据

android 上传文件到服务器

问题描述 android 上传文件到服务器 已知文件存放路径,例如"/sdcard/abc.doc",如何用最简单的语句将其上传到一个网络申请的空间(地址已有),跪求解答,很急!!! 解决方案 Android 上传文件,图片.以及服务器端接收相关. 解决方案二: 不应该先将其变成File对象,完了作为参数传给服务器端吗?服务器端做处理啊..

android上传多图片~PHP做服务器~~~怎么做

问题描述 android上传多图片-PHP做服务器---怎么做 android上传多图片-PHP做服务器---求大神求救 解决方案 php不懂,android就用post上传啊!你可以搜搜,很多的 解决方案二: PHP服务器用wamp搭建就行了, 然后写一个处理图片上传的PHP文件,网上应该有,直接查找就行. 最后就是在android上传,post给你写好的PHP图片处理文件. 其实都可以在度娘那里问到

android 上传aar到私有maven服务器的示例

搞这个东西也是花了蛮长时间,主要还是对gradle中的groovy语言不熟悉所导致的,写下来,以防下次再入坑- 在gradle中新建task 如果你需要将某个module打包成aar,并上传到maven上去,需要在这个module下面的build.gradle文件中添加如下代码: 其中代码: apply plugin: 'maven' 表示我们要应用的插件. MAVEN_LOCAL_PATH表示maven服务器地址,packaging表示需要打包的类型,groupId:artifactId:ve

android 上传文件到服务器代码实例

android对于上传文件,还是很简单的,和java里面的上传都是一样的,基本上都是熟悉操作输出流和输入流!还有一个特别重要的就是需要一些content-type这些参数的配置!  如果这些都弄好了,上传就很简单了!   下面是我写的一个上传的工具类:复制代码 代码如下:package com.spring.sky.image.upload.network; import java.io.DataOutputStream;import java.io.File;import java.io.Fi

input file 上传多张图片,如果想删除其中的某张图片或某几张如何处理?

问题描述 input file 上传多张图片,如果想删除其中的某张图片或某几张如何处理? input file 上传多张图片,利用h5显示了所上传的多张图片,如果想删除其中的某张图片或某几张如何处理? 解决方案 file multiple多选无法删除里面已经选中的文件,回一起回发服务器,但是可以通过js记录删除的图片下标,一起回发服务器,然后服务器遍历Files容器保存的时候对比被删除下标,对比成功则不保存这张图片 解决方案二: 你说的删除是在上传前在客户端删除还是在上传后在服务器上删除?是从上

ionic cordova一次上传多张图片(类似input file提交表单)的实现方法_javascript技巧

我们可以通过cordova提供的插件调用摄像头或图库选择需要的图片上传,按cordova官方的方法,每次选择完后就直接上传,这并不符合用户的习惯,最好的用户习惯是用户选择完需要的图片,并可在本地预览,接着用户再次打开摄像头或图库再次选择图片,接着预览,对于不需要的图片删除,最后确定可以后,再一次性上传所有图片.显然这种方式,cordova是不支持,那要如何实现呢,以下是我的方法: 通过调用$cordovaImagePicker.getPictures该方法打开图库,获得图片的URL地址,ps:相