- 浏览: 896925 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
天天来注册:
...
try catch finally 用法 -
tadpole_java:
谢谢你的分享。
二十七、Qt数据库(七)QSqlRelationalTableModel(转) -
359449749tan:
android之EditText文本监听(addTextChangedListener) -
michael_wang:
人过留名 多谢分享
Android NOtification 使用 -
wilsonchen:
wangqi0614 写道这个删除是删除所有的把?能不能值删除 ...
Android的SharedPreferences保存与删除数据简单实例
客户端:(android)
private void uploadFile()
{
String uploadUrl = "http://IP:8081/dbcampus/UploadFileServlet";
String end = "\r\n";
String twoHyphens = "--";
String boundary = "******";
try
{
URL url = new URL(uploadUrl);
HttpURLConnection httpURLConnection = (HttpURLConnection) url
.openConnection();
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setUseCaches(false);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Connection", "Keep-Alive");
httpURLConnection.setRequestProperty("Charset", "UTF-8");
httpURLConnection.setRequestProperty("Content-Type",
"multipart/form-data;boundary=" + boundary);
DataOutputStream dos = new DataOutputStream(httpURLConnection
.getOutputStream());
dos.writeBytes(twoHyphens + boundary + end);
dos
.writeBytes("Content-Disposition: form-data; name=\"file\"; filename=\""
+ srcPath.substring(srcPath.lastIndexOf("/") + 1)
+ "\"" + end);
dos.writeBytes(end);
FileInputStream fis = new FileInputStream(srcPath);
byte[] buffer = new byte[8192]; // 8k
int count = 0;
while ((count = fis.read(buffer)) != -1)
{
dos.write(buffer, 0, count);
}
fis.close();
dos.writeBytes(end);
dos.writeBytes(twoHyphens + boundary + twoHyphens + end);
dos.flush();
InputStream is = httpURLConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is, "utf-8");
BufferedReader br = new BufferedReader(isr);
String result = br.readLine();
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
dos.close();
is.close();
} catch (Exception e)
{
e.printStackTrace();
setTitle(e.getMessage());
}
}
服务器端:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try
{
request.setCharacterEncoding("UTF-8"); // 设置处理请求参数的编码格式
response.setContentType("text/html;charset=UTF-8"); // 设置Content-Type字段值
PrintWriter out = response.getWriter();
// 下面的代码开始使用Commons-UploadFile组件处理上传的文件数据
FileItemFactory factory = new DiskFileItemFactory(); // 建立FileItemFactory对象
ServletFileUpload upload = new ServletFileUpload(factory);
// 分析请求,并得到上传文件的FileItem对象
List<FileItem> items = upload.parseRequest(request);
// 从web.xml文件中的参数中得到上传文件的路径
String uploadPath = request.getSession().getServletContext().getRealPath("/");
System.out.println("uploadPath"+uploadPath);
File file = new File(uploadPath+"img");
if (!file.exists())
{
file.mkdir();
}
String filename = ""; // 上传文件保存到服务器的文件名
InputStream is = null; // 当前上传文件的InputStream对象
int lengthe=0;
// 循环处理上传文件
for (FileItem item : items)
{
// 处理普通的表单域
if (item.isFormField())
{
if (item.getFieldName().equals("filename"))
{
// 如果新文件不为空,将其保存在filename中
if (!item.getString().equals(""))
filename = item.getString("UTF-8");
System.out.println("filename1"+filename);
}
}
// 处理上传文件
else if (item.getName() != null && !item.getName().equals(""))
{
// 从客户端发送过来的上传文件路径中截取文件名
filename = item.getName().substring(
item.getName().lastIndexOf("\\") + 1);
System.out.println("filename2"+filename);
is = item.getInputStream(); // 得到上传文件的InputStream对象
lengthe=is.available();//获得要上传文件的所附带流的大小
System.out.println("lengthe:"+lengthe);
}
}
// 将路径和上传文件名组合成完整的服务端路径
String filename1 = uploadPath +"img"+ filename;
// 如果服务器已经存在和上传文件同名的文件,则输出提示信息
if (new File(filename1).exists())
{
new File(filename1).delete();
}
// 开始上传文件(采用字节流上传)(代码是可用的)
if (!filename1.equals(""))
{
File file1=new File(uploadPath+"img",filename);
// 用FileOutputStream打开服务端的上传文件
FileOutputStream fos = new FileOutputStream(file1);
byte[] buffer = new byte[8192]; // 每次读8K字节
int count = 0;
// 开始读取上传文件的字节,并将其输出到服务端的上传文件输出流中
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count); // 向服务端文件写入字节流
}
fos.close(); // 关闭FileOutputStream对象
is.close(); // InputStream对象
out.println("文件上传成功!");
}
}
catch (Exception e)
{
}
}
发表评论
-
Tomcat 下配置https
2014-05-13 17:56 555引用 今天按照网上的教程做了一下在Tomcat下配置https ... -
HDFS详解
2011-12-06 10:31 2100http://www.cnblogs.com/chinacl ... -
git 远程管理
2011-12-05 23:20 1303Pro Git professional version c ... -
KV存储
2011-12-05 23:07 3524KV-存储 之 Hash算法 http://www.ces ... -
互联网常见Open API文档资源
2011-11-16 15:15 1018所谓的开放API(OpenAPI)是服务型网站常见的一种应用, ... -
Jdk1.6+Tomcat6+Apache2+jk_mod1.2+PHP5+MySql5安装与配置详解
2011-11-06 20:38 948http://jiarry.bokee.com/2375369 ... -
下载mod_jk.so地址
2011-11-06 18:34 1839apache版本与mod_jk.so版本要一致,要是不一致就 ... -
php环境安装视频教程
2011-11-05 18:03 864http://dv.ce.cn/video/2010/12/3 ... -
PHP环境配置:Apach+Tomcat+mysql+php
2011-11-05 15:22 66821》下载需要的软件: Apache : apa ... -
Apache的使用方法
2011-11-05 15:18 23511http://www.heibai.net/book/html ... -
轻松搭建一个Windows SVN服务器
2011-11-04 21:58 774http://www.williamlong.info/arc ... -
SDO的使用
2011-11-04 15:26 935http://www.ibm.com/developerwor ... -
Tomcat安全域设置大全
2011-10-26 10:13 1133安全域是tomcat内置的功能,在org.apache.cat ... -
Tomcat-阀
2011-10-26 10:03 692Tomcat的阀能够对容器接收到的HTTP请求进行预处理.阀可 ... -
loadRunner的使用教程视频
2011-08-24 16:37 886http://v.youku.com/v_playlist/f ... -
IIS日志的配置
2011-08-22 18:37 972http://www.docin.com/p-13596823 ... -
webalizer流量分析软件windows下的配置与使用
2011-08-22 11:52 7230http://www.cnblogs.com/sdytzz/a ... -
JBPM的一点资料
2011-08-06 00:09 955开源世界的版本问题,永远是入门者的噩梦,简单记录一些资料。 目 ... -
java获取系统时间
2011-08-04 15:24 7051. new java.util.Date() 2. ... -
安装Tomcat
2011-08-04 12:34 862MyEclipse下安装Tomcat http://blog. ...
相关推荐
android手机客户端上传文件,java servlet服务器端接收并保存到服务器。 客户端和服务器端代码已完整提供,如无法使用,请联系
客户端代码,通过Tcp协议来进行通信,内容仅做参考,接受指正
客户端向服务器端上传文件代码,包括xml,jsp,及servlet端的代码
本地内网远程教学代码,目前只实现了内网远程观看和控制,以后实现了外网控制会再次上传,本次只是一个简单的内网控制使用的是winform和C#
本资料为7z压缩包打包上传,包含TCP服务器端和客户端,并且客户端可对接收到的数据以文本方式保存。LabVIEW使用TCP通讯示例程序可设置端口号,LabVIEW可通过TCP发送波形,数值,布尔,文本等类型的数据,并且有相应...
delphi客户端,含文件上传功能,upload.php放于php运行目录下,服务端将自动接收并保存在服务器,简单样例,测试可用。
调用服务器的webservice接口,实现从Android上传图片到服务器,然后从服务器下载图片到Android客户端 从Android端用io流读取到要上传的图片,用Base...下载过程,与上传过程相反,把服务器端和客户端的代码相应的调换
本视频会议系统由服务器软件和客户端软件组成。 功能特性 1. 基于MPEG-4的多媒体技术:使用自行开发的基于MPEG-4标准的多媒体压缩技术,适应从64Kbps到宽带的网络环境。系统不仅可以提供流畅的语音,而且可以提供...
VC开发环境下,实现FTP的变成,可以上传和下载文件,FTP服务器端和客户端都实现
VC++实现客户端与服务器端的文件传输(TFTP方式) 可实现向服务器上传,客户端下载 里面也有已经编译好的执行文件,客户端,服务器端 操作简单
android客户端与web服务器端的文件上传与下载源代码,和android录音功能。 HttpDownloader.java:下载文件 FileUtil.java:post方法上传文件 MainActivity.java:录音功能 TestFileActivity.java:测试文件的上传与...
在客户端多线程断点下载文件,断点上传文件客户端和服务器端的代码
MFC实现的利用ftp上传和下载文件的完整程序代码,包括客户端和服务器端,希望能够给需要的人以参考!
使用HTTP实现断点续传功能 包括客户端代码、服务器端整套项目代码
基于Python的小区智能安防系统源码(含控制台客户端+服务器端).zip基于Python的小区智能安防系统源码(含控制台客户端+服务器端).zip基于Python的小区智能安防系统源码(含控制台客户端+服务器端).zip基于Python的小区...
Delphi7 实现FTP服务器与客户端源码,包括文件目录跳转,文件名与文件目录修改,文件上传于下载以及匿名与非匿名用户登录服务器。
源代码和数据库皆上传。此项目为SSH框架的服务器端与Android的客户端通过Json进行数据交互,适合新手,简单易学
FTP服务器与客户端设计与实现,包括文件目录跳转,文件名与文件目录修改,文件上传于下载以及匿名与非匿名用户登录服务器。
前面分数有点高,应网友反映,现在把两个资源合到一起,仅1分,前面下载过高分的朋友对不住了。 自己写的一个android...服务器端是c#写的一个接收http post代码 亲自测试 可以接收android客户端发送的 post 图片
Android客户端和电脑服务器端用socket通讯,实时上传画面帧,在电脑服务器端可查看.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。