kindeditor 批量上传 路径_FtpClient 实现文件上传

FtpUtils 工具类封装

public static boolean uploadFile(
String hostname,    
 int port, String username, 
    String password, String pathname,  
  String remote,InputStream local) {    
  boolean flag=false;      
 try{  
  //创建 FtpClient 对象  
  FTPClient client=new FTPClient();   
 //建立和 ftp服务器的链接   
 client.connect(hostname, port); 
   //登陆 ftp服务器   
 client.login(username, password);    
//设置上传的文件的类型   
 client.setFileType(FTP.BINARY_FILE_TYPE);  
  //切换工作目录,文件上传后保存到那个目录    
if(!client.changeWorkingDirectory(pathname)){   
  if(client.makeDirectory(pathname)){      
client.changeWorkingDirectory(pathname);    
 }    }     
   local=new FileInputStream("D:/pic/1.jpg"); 
   //实现文件上传   
 client.storeFile(remote, local);  
      local.close();        client.logout();  
  client.disconnect();    flag=true;     
  }catch(Exception ex){   
 ex.printStackTrace();  
 }    
  return flag;    
    } 
 

通过 Http 访问图片

Ego 上传商品图片

前端控件参数说明

提交上传请求路径 url

e861d5bafe9b9b70a9bf49ce4600d55c.png

提交图片参数名称

7c2a35aedae472faecf34d74b4ac43f8.png

上传后返回值 json模型

参考 kindeditor 控件文件上传文档:

KindEditor 4.x Documentation

2.2 创建 PictureResult 封装返回值

package com.bjsxt.ego.beans;
 /***  * 封装上传图片之后的返回结果  * **/ 
public class PictureResult { 
 
 private Integer error; 
//状态  1 失败  0 成功  private String url; //
上传图片后,图片在服务器的 url  private String message;
//响应到客户端的提示消息 
 public Integer getError() {   
return error;  
} 
 public void setError(Integer error) {  
 this.error = error;  }  
public String getUrl() {  
 return url; 
 }  public void setUrl(String url) {
   this.url = url;
  }  public String getMessage() { 
  return message;  
}  public void setMessage(String message) {  
 this.message = message;  }     } 

ego-manager-web 功能实现

创建 ftp.properties

FTP_HOST=192.168.30.30
 FTP_PORT=21 
FTP_USERNAME=ftpuser FTP_PASSWORD=ftpuser 
FTP_PATH=/home/ftpuser/jd 
IMAGE_HTTP_PATH=http://image.taotao.com/jd 

创建工具类 IDUtils

ManagerItemService 接口添加方法

public PictureResult uploadItemPic(MultipartFile file);

ManagerItemServiceImpl 实现方法

//通过 spring 的 EL表达式注入 ftp信息 
 @Value("${FTP_HOST}")  private String FTP_HOST;  @Value("${FTP_PORT}")  
private Integer FTP_PORT; 
 @Value("${FTP_USERNAME}") 
 private String FTP_USERNAME;  
@Value("${FTP_PASSWORD}")  
private String FTP_PASSWORD; 
 @Value("${FTP_PATH}") 
 private String FTP_PATH; 
 @Value("${IMAGE_HTTP_PATH}") 
 private String IMAGE_HTTP_PATH; 
@Override  
public PictureResult uploadItemPic(MultipartFile file) { 
  // TODO Auto-generated method stub 
  boolean flag=false;   String fileName=null;   try{ 
 
   //获得信息的文件名字   
 fileName=IDUtils.genImageName();    
//获得上传的文件的原始名字    
String oriName = file.getOriginalFilename();  
  //获得文件扩展名    
String ext=oriName.substring(oriName.lastIndexOf("."));       
 fileName=fileName+ext;      
  InputStream local = file.getInputStream();   
     //实现文件上传到ftp   
 flag=FtpUtils.uploadFile(FTP_HOST, FTP_PORT, FTP_USERNAME, FTP_PASSWORD,   
    FTP_PATH, fileName, local);         
  }catch(Exception ex){    ex.printStackTrace();  
  flag=false;   }      PictureResult result=null;   
if(flag){    result=new PictureResult();
    result.setError(0); 
   result.setUrl(IMAGE_HTTP_PATH+"/"+fileName);  
  result.setMessage("ok");   }else{  
  result=new PictureResult();    result.setError(1); 
   result.setUrl("url"); 
   result.setMessage("error");   
}  
 return result;  
} 
 

创建 ItemImageUploadController类

package com.bjsxt.ego.manager.controller; 
 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.http.MediaType; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.ResponseBody; 
import org.springframework.web.multipart.MultipartFile; 
 
import com.bjsxt.ego.beans.PictureResult; 
import com.bjsxt.ego.manager.service.ManagerItemService; 
 
@Controller 
public class ItemImageController { 
 
 //注入service 
 @Autowired 
 private ManagerItemService managerItemService; 
   /**   * 处理图片上传请求 
  * ***/ 
 @Request
Mapping(value="pic/upload",produces=MediaType. APPLICATION_JSON_VAL UE +";charset=UTF-8") 
 @ResponseBody 
 public PictureResult picUpload(MultipartFile uploadFile){ 
  return managerItemService.uploadItemPic(uploadFile); 
 }
 } 

配置 springmvc.xml

发布测试

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值