java上传图片

java上传图片到本地服务器

1.新建一个简单的jsp页面

<body>

	<form action="picture.do" enctype="multipart/form-data" method="post">
		图片:<input type="file" multiple="multiple" name="img">
		<br>
		<button>提交</button>
	</form>
	
</body>
  • 注意项:

1.首先要声明上传多媒体内容form表单要加上enctype="multipart/form-data"的属性。
(enctype=“multipart/form-data”的意思是设置表单的MIME编码
默认情况,这个编码格式是application/x-www-form-urlencoded,可以通过request.getParameter来获取表单中的内容
但是文件上传需要接受的是二进制的数据需要使用multipart/form-data,才能完整的传递文件数据,进行下面的操作。使用了此设置,就不会用getParameter直接获取文本内容了,而是用一个字节数组来接收内容,然后再转换成String类型)

2.表单必须是post提交

3.input标签也要声明 multiple="multiple"属性

2.开始编写servlet的内容

package dream.servlet;

import java.io.File;
import java.io.IOException;

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;

import org.apache.tomcat.util.bcel.classfile.Constant;
@WebServlet("/picture.do")
@MultipartConfig
public class PictureServlet extends HttpServlet{
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// 获取上传的图片
		Part part = req.getPart("img");
		String imgName=part.getSubmittedFileName();
		//判断不为空
		if(!"".equals(imgName)) {
			//获取项目部署的路径
			String xmPath = this.getServletContext().getRealPath("img/" + imgName);
			System.out.println(xmPath);
			//写入该路径
			part.write(xmPath);
			//part.write(localPath);	
			
		}
}
  • 注意项:
    1.servlet要添加==@MultipartConfig==的注解,让它知道处理字节文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值