All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.novelweb.tool.upload.fastdfs.protocol.storage.UploadSlaveFileCommandAbstract Maven / Gradle / Ivy

package cn.novelweb.tool.upload.fastdfs.protocol.storage;

import cn.novelweb.tool.upload.fastdfs.model.StorePath;
import cn.novelweb.tool.upload.fastdfs.protocol.BaseResponse;
import cn.novelweb.tool.upload.fastdfs.protocol.storage.request.UploadSlaveFileRequest;

import java.io.InputStream;

/**
 * 从文件上传命令
*
 * 使用背景
 * 使用FastDFS存储一个图片的多个分辨率的备份时,希望只记录源图的FID,
 * 并能将其它分辨率的图片与源图关联。可以使用从文件方法
 * 名词注解:
 *   主从文件是指文件ID有关联的文件,一个主文件可以对应多个从文件
 *   主文件ID = 主文件名 + 主文件扩展名
 *   从文件ID = 主文件名 + 从文件后缀名 + 从文件扩展名
 * 以缩略图场景为例:主文件为原始图片,从文件为该图片的一张或多张缩略图
 * 流程说明:
 *  1.先上传主文件(即:原文件),得到主文件FID
 *  2.然后上传从文件(即:缩略图),指定主文件FID和从文件后缀名,上传后得到从文件FID。
 *
 * 注意:
 *   FastDFS中的主从文件只是在文件ID上有联系。FastDFS server端没有记录主从文件对应关系,
 *   因此删除主文件,FastDFS不会自动删除从文件。删除主文件后,从文件的级联删除,需要由应用端来实现。
 * 
*

2020-02-03 17:09

* * @author LiZW **/ public class UploadSlaveFileCommandAbstract extends AbstractStorageCommand { /** * 文件上传命令 * * @param inputStream 输入流 * @param fileSize 文件大小 * @param masterFilename 主文件名称(路径) * @param prefixName 从文件前缀 * @param fileExtName 文件扩展名 */ public UploadSlaveFileCommandAbstract(InputStream inputStream, long fileSize, String masterFilename, String prefixName, String fileExtName) { super(); this.request = new UploadSlaveFileRequest(inputStream, fileSize, masterFilename, prefixName, fileExtName); // 输出响应 this.response = new BaseResponse() { }; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy