tomcat文件路径更换_tomcat图片上传指定位置并显示(修改配置文件)

1.修改tomcat配置文件

450eb45ce1dea46db5816e83797443a8.png

2.在其中添加要上传的位置

1)

c1feb07adccc757b1595e0e2f88dfcad.png

2)

59223f3fd4ad7d1da2a630bbdee97c39.png

3.写上传java代码,当然网上也有,下面是我的代码。

package com.servlet;

import java.io.File;

import java.io.IOException;

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.FileUploadBase;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.bean.Product;

import com.service.ProductService;

public class UploadServlet2 extends HttpServlet {

Product p=new Product();

ProductService ps=new ProductService();

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//响应中文乱码处理

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

//创建工厂

DiskFileItemFactory factory = new DiskFileItemFactory();

//使用工厂对象作为参数创建一个ServletFileUplaod对象

ServletFileUpload fileUpload = new ServletFileUpload(factory);

//解决文件名中文乱码

fileUpload.setHeaderEncoding("UTF-8");

//设置上传的单个文件的大小上限:1024KB=1MB

fileUpload.setFileSizeMax(1024*1024);

try {

//使用fileUpload对象解析request请求体中的内容,得到FileItem链表

List list = fileUpload.parseRequest(request);

//遍历list得到每一个FileItem(也就是每一个表单项)

for(FileItem fileItem:list){

//如果当前表单项为普通文本字段

if(fileItem.isFormField()){//普通文本字段

//获取表单项的字段名称

String fieldName = fileItem.getFieldName();

if(fieldName.equals("id")){

p.setId(fileItem.getString("UTF-8"));

}

if(fieldName.equals("name")){

p.setName(fileItem.getString("UTF-8"));

}

if(fieldName.equals("price")){

String price1=(fileItem.getString("UTF-8"));

double price2=Double.parseDouble(price1);

p.setPrice(price2);

}

if(fieldName.equals("category")){

p.setCategory(fileItem.getString("UTF-8"));

}

if(fieldName.equals("pnum")){

int pnum= Integer.parseInt(fileItem.getString("UTF-8"));

p.setPnum(pnum);

}

if(fieldName.equals("description")){

p.setDescription(fileItem.getString("UTF-8"));

}

}else{//上传文件字段

//获取文件名

String name = fileItem.getName();

//如果名字为空,就是没有指定上传文件

if(name==null || name.isEmpty()){

continue;

}

//获取真实的文件路径,其实就是服务器上的一个目录,这个目录必须存在

String savepath = "D:/pic";

//为了保证上传的文件名是唯一的,可以使用UUID

String uuid = UUID.randomUUID().toString();

//重新构建的文件名为:uuid_原始文件名

String filename = uuid+"_"+name;

//通过文件上传路径和文件名创建File对象

File file = new File(savepath, filename);

//将内容写到文件中去,上传完成

fileItem.write(file);

p.setImgurl(filename);

//给客户端输出提示

response.getWriter().print("上传文件名:"+name+"
");

response.getWriter().print("上传文件大小:"+fileItem.getSize()+"
");

response.getWriter().print("上传文件类型:"+fileItem.getContentType());

}

}

ps.editId(p);

response.getWriter().print("商品信息修改成功......");

response.setHeader("Refresh", "1;url=/T1/admin/shoppingA.jsp");

} catch (Exception e) {

//判断异常的类型

if(e instanceof FileUploadBase.FileSizeLimitExceededException){

//将错误信息存放到request域中

request.setAttribute("msg", "上传失败,文件大小超过1MB");

//请求转发到upload.jsp

request.getRequestDispatcher("/upload.jsp").forward(request, response);

return;

}

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

注意:其中

ae792a0f618c1e2e4368298a642c8a6a.png

4.显示图片写法(上传图片自己写)。

57a73d3b09620db3f73c4221eaff7ee3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值