java的图片文件上传下载,多表新增,菜品信息分页

上传下载,
摘要由CSDN通过智能技术生成
上传文件:表单要求
1,enctype="multipart/form-data"
2.表单中需要有type="file"的input
3.表单的请求方式一定是POST。即method="post"
servlet要求
1.不能使用request.getParameter
2.使用request.getInputStream

例如:
<form action="/file_upload/RegistServlet" method="post" enctype="multipart/form-data">
    用户:<input name="username" type="text"><br>
    注册:<input name="password" type="password"><br>
    照片:<input name="pic" type="file" ><br>
    <input type="submit" value="提交">
</form>

ElementUI提供了上传组件

Spring框架在spring-web对文件上传进行了封装,其底层是基于Apache的commons-fileupload和commons-io组件,,所以使用时在controller的方法声明一个MultipartFile类型参数即可

例如:   ps:  MultipartFile pic的参数名必须与name="pic"一致,不然接收不到
@PostMapping("/upload")
public R<String> upload(MultipartFile pic){
    return null;
}

文件上传代码

配置路径在yml里

reggie:
  path: D:\code\image\
@RestController
@RequestMapping("/common")
@Slf4j
public class CommonController {


    @Value("${reggie.path}")
    private String basePath;
    /**
     * 文件上传
     * @param file  参数起名与页面那么一致
     * @return 返回上传文件新名
     */
    @PostMapping("/upload")
    public R<String> upload(MultipartFile file){
        log.info("上传图片:{}", file.getName());

        //传来文件的原始文件名
        String originalFilename = file.getOriginalFilename();//abc.jpg
        //获取格式后缀名
        String substring = originalFilename.substring(originalFilename.lastIndexOf("."));//.jpg

        //生成随机文件名,避免覆盖
        String fileName = UUID.randomUUID().toString()+substring; //adsd.jpg

        //判断目录是否存在
        File dir =new File(basePath);
        if (!dir.exists()){
            dir.mkdirs();
        }

        try {
            //将文件转存到指定位置
            file.transferTo(new File(basePath+fileName));
        } catch (IOException e) {
            e.printStackTrace();
        }
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值