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();
}
}