淘淘项目2

1、通用封装思想

统一结果返回类


public classTaotaoResult {

 

   // 响应状态码

   private Integer status;

  

    // 响应消息   200 成功 400 失败 500异常

   private String msg;

  

   // 响应中的数据

   private Object data;

  

   public TaotaoResult() {

     

   }

  // 成功  传入数据 调用下面的构造方法

   public static TaotaoResult   build(Object data){

      return new TaotaoResult(data);

   }

  //  成功 传入数据

   public TaotaoResult(Object data) {

      this.status = 200;

      this.msg = "OK";

      this.data = data;

   }

  

// 有状态码 有信息 没有数据

   public static TaotaoResult   build(Integer status,String msg) {

        return new TaotaoResult(status,msg, null);

   }

  // 三样都有

   public static TaotaoResult    build(Integer status,String msg, Object data) {

        return new TaotaoResult(status,msg, data);

   }

  

   public TaotaoResult(Integer status, String msg, Object data) {

      this.status = status;

      this.msg = msg;

      this.data = data;

   }

}


图片上传:

@Test
    public void testFtp() throws Exception {
        //1、连接ftp服务器
        FTPClient ftpClient = new FTPClient();
        ftpClient.connect("192.168.25.133", 21);
        //2、登录ftp服务器
        ftpClient.login("ftpuser", "ftpuser");
        //3、读取本地文件
        FileInputStream inputStream = new FileInputStream(new File("D:\\Documents\\Pictures\\images\\2010062119283578.jpg"));
        //4、上传文件
        //1)指定上传目录
        ftpClient.changeWorkingDirectory("/home/ftpuser/www/images");
        //2)指定文件类型
        ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
        //第一个参数:文件在远程服务器的名称
        //第二个参数:文件流
        ftpClient.storeFile("hello.jpg", inputStream);

S1
@RequestMapping("/pic/upload")
    @ResponseBody
    public String uploadPicture(MultipartFile uploadFile) {
        Map result = pictureService.uploadPicture(uploadFile);
        String json = JsonUtils.objectToJson(result);
        return json;
    }

S2 service
加载配置文件的值
#FTP的相关配置
FTP_ADDRESS=192.168.238.129
FTP_PORT=21
FTP_USERNAME=ftpuser
利用spring 读取配置文件了的值
    @Value("${FTP_ADDRESS}")
    private String FTP_ADDRESS;
    @Value("${FTP_PORT}")
    private int FTP_PORT;
    @Value("${FTP_USERNAME}")

    修改-dao.xml文件
<context:property-placeholder location="classpath:resource/*.properties" />
    读取*.properties  
@Override
    public Map uploadPicture(MultipartFile uploadFile) {

        Map resultMap = new HashMap<>();
        // 修改文件名
        String oldName = uploadFile.getOriginalFilename();
        String newName = IDUtils.genImageName() + oldName.substring(oldName.lastIndexOf("."));

        // 上传文件到ftp服务器
        String filePath = new DateTime().toString("/yyyy/MM/dd");
        try {
            boolean uploadResult = FtpUtil.uploadFile(FTP_ADDRESS, FTP_PORT, FTP_USERNAME, FTP_PASSWORD,
                    FTP_BASEPATH, filePath, newName, uploadFile.getInputStream());
            if(!uploadResult) {
                // error 成功是0  失败是1
                resultMap.put("error", 1);
                resultMap.put("message", "上传失败");
                return resultMap;
            }
            // 上传成功
            resultMap.put("error", 0);
            resultMap.put("url", IMAGE_BASE_URL + filePath + "/" + newName);
            return resultMap;
        } catch (IOException e) {
            e.printStackTrace();
            resultMap.put("error", 1);
            resultMap.put("message", "上传出现异常");
            return resultMap;
        }

上传 //成功时

{

       "error" : 0,

       "url" : "http://www.example.com/path/to/file.ext"

}

//失败时

{

       "error" : 1,

       "message" : "错误信息"

}

根据结果 定义一个bean

private int   error;

   private String   url;

   private String   message;

  

  

   // 成功时调用的方法

   public static PictureResult    ok(Stringurl) {

      return new PictureResult(0, url, null);

   }

 

   // 失败时调用的方法

   public static PictureResult   error(String message){

      return new PictureResult(1, null, message);

   }

  

   public PictureResult(int error, String url, String message) {

      this.error = error;

      this.url = url;

      this.message = message;

   }


-----  8月8日 富文本编辑器提交 以及  一次传多个图片实现  -----------

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值