/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ifish.helper;

import com.ifish.dto.JsonResult;
import org.springframework.web.multipart.MultipartFile;

/**
 * FastDFS分布式文件管理系统接口方法
 *
 * @author Administrator
 */
public interface FastDFSClientI {

    /**
     * 上传一个字节型文件
     *
     * @param file_buff 字节数组
     * @param file_ext_name 文件后缀
     * @return
     * @throws Exception
     */
    String uploadFile(byte[] file_buff, String file_ext_name) throws Exception;

    /**
     * 上传一个本地文件
     *
     * @param local_filename 本地文件名（路径+文件名+后缀）
     * @param file_ext_name 文件后缀
     * @return
     * @throws Exception
     */
    String uploadFile(String local_filename, String file_ext_name) throws Exception;

    /**
     * 上传一个文件
     *
     * @param group_name 指定位置
     * @param local_filename 本地文件名（路径+文件名+后缀）
     * @param file_ext_name 文件后缀
     * @return
     * @throws Exception
     */
    String uploadFile(String group_name, String local_filename, String file_ext_name) throws Exception;

    /**
     * 上传一个MultipartFile类型文件，返回成功后结果，适用于保存不完整路径方法
     *
     * @param file
     * @return
     */
    JsonResult<?> uploadFile(MultipartFile file);

    /**
     * 上传一个MultipartFile类型文件，返回成功后文件路径，适用于保存完整路径方法
     *
     * @param file
     * @return
     */
    String uploadFileToFastDFS(MultipartFile file);
}
