java web:图片文件的上传

package com.igeekhome.ebuy.web.servlet;

import com.igeekhome.ebuy.pojo.Adverts;
import com.igeekhome.ebuy.service.AdvertsService;
import com.igeekhome.ebuy.service.impl.AdvertServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.List;
import java.util.UUID;

@WebServlet(name = "AdvertServlet", urlPatterns = {"/admin/manager/advert"})
@MultipartConfig
public class AdvertServlet extends BaseServlet {

    private AdvertsService advertsService = new AdvertServiceImpl();

    /**
     * 获取广告列表
     */
    private void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<Adverts> list = advertsService.getList();
        request.setAttribute("list", list);
        request.getRequestDispatcher("/admin/manager/advert/advertList.jsp").forward(request, response);
    }

    /**
     * 新增广告位置
     */
    private void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String bid = request.getParameter("bid");
        String target = request.getParameter("target");

//获得name=advert的part
        Part part = request.getPart("advert");
        //part.getSubmittedFileName()获得选择的图片的名称,如image.jpeg
        String submittedFileName =part.getSubmittedFileName();
        String img = "";
        if(submittedFileName != null && !"".equals(submittedFileName)) {
        //得到文件的后缀名strs[strs.length-1]是.后面的类型,就是jpeg
            String[] strs = submittedFileName.split("\\.");
            //创建一个随机的文件名称,加上后缀名
            String fileName = UUID.randomUUID() + "." + strs[strs.length - 1];
//得到打包路径out下的文件电脑全路径,加上/images/fileName
//part.write()把文件写入到电脑路径下
           part.write(this.getServletContext().getRealPath("/images/") + fileName);
            img = "images/" + fileName;
        }
//最后调用业务把图片和连接都写入到数据库。
        int i = advertsService.addAdvert(bid, img, target);
        response.sendRedirect(request.getContextPath() + "/admin/manager/advert?method=list");
    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值