电商项目之springmvc实现图片上传

1、前端(name与后端的)

springmvc文件上传到ftp服务器
<form name="form1" action="/manage/product/upload.do" method="post" enctype="multipart/form-data">
    <input type="file" name="upload_file"/>
    <input type="submit" value="springmvc上传文件"/>
</form>

 

1、后端

package com.lpy.mall.service.Impl;

import com.lpy.mall.service.IFileService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

public class FileServiceImpl implements IFileService {

    private Logger logger = LoggerFactory.getLogger(FileServiceImpl.class);

    /**
     * @param file
     * @param path 为上传的一个路径
     * @return
     */
    public String upload(MultipartFile file,String path){

        //1、拿到我们上传文件的文件名
        String fileName=file.getOriginalFilename();
        //2、获取扩展名    abc.jpg    abc.abc.abc.jpg  拿取最后一个.
        String fileExtensionName=fileName.substring(fileName.lastIndexOf(".")+1);
        //3、上传后的文件的文件名
        String uploadFileName= UUID.randomUUID().toString()+"."+fileExtensionName;

        logger.info("开始上传文件,上传文件的文件名:{},上传的路径:{},新文件名:{}",fileName,path,uploadFileName);
        //4、声明目录的file
        File fileDir = new File(path);
        if(!fileDir.exists()){
            fileDir.setWritable(true);//使这文件有写的权限
            fileDir.mkdirs();//创建目录
        }
        //5、声明我们的文件   (路径加我们的新的文件名)
        File targetFile = new File(path,uploadFileName);
        try {
            file.transferTo(targetFile);
            //到这里,文件已经上传成功

            //todo 将targetFile上传到问们的FTP服务器上

            //todo 上传完之后,删除upload下面的文件

        } catch (IOException e) {
           logger.error("文件上传异常",e);
           return null;
        }
        return targetFile.getName();
    }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值