没有合适的资源?快使用搜索试试~ 我知道了~
java文件上传客户端和服务器端.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 129 浏览量
2022-07-14
16:50:06
上传
评论
收藏 18KB PDF 举报
温馨提示
试读
12页
java文件上传客户端和服务器端.pdf
资源推荐
资源详情
资源评论
package com.gem.hsx.servlet;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.List;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet
{
@SuppressWarnings("unchecked")
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
String BOUNDARY= UUID.randomUUID().toString();
try
{
request.setCharacterEncoding("UTF-8"); // 设置处理请求参数的编码格式
response.setContentType("text/html;charset=UTF-8"); // 设置 Content-Type 字段
值
PrintWriter out = response.getWriter();
out.println(" 文件开始 !");
// 下面的代码开始使用 Commons-UploadFile 组件处理上传的文件数据
FileItemFactory factory = new DiskFileItemFactory(); // 建立 FileItemFactory 对
象
ServletFileUpload upload = new ServletFileUpload(factory);
// 分析请求,并得到上传文件的 FileItem 对象
List<FileItem> items = upload.parseRequest(request);
// 从 web.xml 文件中的参数中得到上传文件的路径
String uploadPath = "d:\upload\";
File file = new File(uploadPath);
if (!file.exists())
{
file.mkdir();
}
String filename = ""; // 上传文件保存到服务器的文件名
InputStream is = null; // 当前上传文件的 InputStream 对象
// 循环处理上传文件
for (FileItem item : items)
{
// 处理普通的表单域
if (item.isFormField())
{
if (item.getFieldName().equals("filename"))
{
// 如果新文件不为空,将其保存在 filename 中
if (!item.getString().equals(""))
filename = item.getString("UTF-8");
}
}
// 处理上传文件
else if (item.getName() != null && !item.getName().equals(""))
{
// 从客户端发送过来的上传文件路径中截取文件名
filename = item.getName().substring(
item.getName().lastIndexOf("\\")+1);
is = item.getInputStream(); // 得到上传文件的 InputStream 对象
}
}
// 将路径和上传文件名组合成完整的服务端路径
filename = uploadPath +BOUNDARY+filename;
// 如果服务器已经存在和上传文件同名的文件,则输出提示信息
if (new File(filename).exists())
{
new File(filename).delete();
}
// 开始上传文件
if (!filename.equals(""))
{
// 用 FileOutputStream 打开服务端的上传文件
FileOutputStream fos = new FileOutputStream(filename);
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)
{
}
}}
剩余11页未读,继续阅读
资源评论
yyc13139216118
- 粉丝: 2
- 资源: 6万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功