private int port = 2001;
private String host = "123.123.123.123";
private String username = "admin";
private String password = "admin";
private String rootDir = "/file";
/**
* 上传附件
*
* @param files
* @return
*/
@Transactional
@RequestMapping(value = "/uploadFile")
public JSONObject uploadFile(@RequestParam(value = "file", required = false) MultipartFile[] files) throws Exception{
JSONObject object = new JSONObject();
String id = request.getParameter("id");
System.out.println("{上传文件id}"+id);
for (MultipartFile file : files) {
Thread.sleep(500);
String filename = file.getOriginalFilename();
System.out.println("{****文件大小}"+file.getSize());
if (StringUtils.isNotEmpty(filename)) {
if (file.getSize() > 20971520) {
object.put("code",-2);
object.put("msg","文件不能大于20MB!");
return object;
}
}
String attId = UUID.randomUUID().toString().replace("-", "");
String fileName = file.getOriginalFilename();
System.out.println("{文件名称}"+fileName);
try {
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
String newAnName = attId + "." + suffix;
String url = "http://123.123.123.123:8080/download/";//要上传文件地址
//1.登录
Ftp ftp = new Ftp(host,port,username,password);
ftp.setMode(Passive);
System.out.println("{ftp登录}");
//2.进入远程目录
ftp.cd(rootDir);
System.out.println("{ftp上传本地文件**流}"+file.getInputStream());
//3.上传本地文件
boolean flag = ftp.upload(rootDir, newAnName,file.getInputStream());
System.out.println("{ftp上传本地文件返回flag}"+flag);
//4.关闭连接
ftp.close();
System.out.println("{ftp关闭}");
if (flag) {
System.out.println("上传成功!");
String anPath = url + attId + "." + suffix;
System.out.println("上传外网地址:"+anPath);
CrmAnnounceVo crmAnnounceVo = new CrmAnnounceVo();
crmAnnounceVo.setAnId(attId);//文件id
crmAnnounceVo.setId(id);//公告ID
crmAnnounceVo.setAnName(fileName);//文件原名
crmAnnounceVo.setNewAnName(newAnName);//文件编码后的名称
crmAnnounceVo.setAnPath(anPath);//文件保存地址
crmAnnounceVo.setAnSize(file.getSize());//文件大小
crmAnnounceVo.setUploadUser(CommonUtil.getUserId());//上传人
int ann = crmWxAnnouncementMapper.saveAnnounce(crmAnnounceVo);//保存文件信息
if (ann > 0) {
object.put("code",1);
object.put("msg","上传成功!");
} else {
object.put("code",0);
object.put("msg","上传失败!");
return object;
}
} else {
object.put("code",0);
object.put("msg","上传失败!");
System.out.println("上传失败!");
return object;
}
} catch (Exception e) {
e.printStackTrace();
object.put("code",-3);
object.put("msg","上传出错!");
return object;
}
}
return object;
}
07-21
1306