html文件上传dopost,html+servlet实现文件上传

我今天又没得写了啊,只得来整点技术。

首先,html实现的是表单提交、等待显示,servlet实现的是后台处理。两个互不干扰!

html的布局用bootstrap、jquery和Font Awesome实现,虽说排版还是怂了点,不过基础的目的实现了。

servlet后台本身就是java。因此servlet就是java的一个分支,完全使用java语法。这里使用servlet3.0,加个注解就不用配置web.xml。在eclipse实现。

HTML5:

Upload File

//对一些DIV元素的控制

$(document).ready(function() {

$("#wait").hide();

$("#submit").click(function() {

$("#form").hide();

$("#wait").show();

});

});

选择文件:

你的文件上传后,将会显示在服务器上。请耐心等待。

SERVLET:

//改动原文https://www.cnblogs.com/to-red/p/11129451.html

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.annotation.MultipartConfig;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.Part;

//两个注解,一个是自动配置servlet,一个是支持文件上传

@WebServlet(name = "Upload", urlPatterns = { "/upload" })

@MultipartConfig

public class Upload extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// 加一个try,因为文件名重复或没有文件会抛错误

try {

response.setContentType("text/html;charset=utf-8");

request.setCharacterEncoding("utf-8");

PrintWriter out = response.getWriter();

String pathname = "D:\\uploads\\"; //首先要确保你服务器有D盘,没有换C盘也可以

File path = new File(pathname);

if (!path.exists()) {

path.mkdir(); //不存在uploads 创建文件夹

}

Part part = request.getPart("file");

out.println("文件大小:" + part.getSize() + "
");

String cd = part.getHeader("Content-Disposition");

// 这里获取文件名我做了改动,因为win10 tomcat9获得的文件名是错的

String filename = cd.substring(cd.lastIndexOf("=") + 2, cd.length() - 1);

filename = filename.substring(filename.lastIndexOf("\\") + 1); //改动

out.println("上传的文件:" + filename + "
");

//上传文件

String filePath = path.getPath() + File.separator + filename;

part.write(filePath);

out.println("上传文件成功!");

System.out.println("上传文件,session-id为 : " + request.getSession().getId() + ",文件名为:" + filePath);

//servlet没有排版

} catch (Exception ex) {

System.out.println("Upload class is throws " + ex.getMessage());

}

}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);

}

}

界面有点怂......就当学习好了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值