Fx.file

Fx.file:处理和文件有关的API

1. 给图片加水印

Fx.file.watermark(<String nPath>, <List words>)

参数说明

参数 类型 说明
nPath String 图片的npath
words List 水印的内容列表

返回值类型

APIResult

返回值说明

Map

Java举例

APIResult ret = Fx.file.watermark("N_202003_04_c706c31390b747408bfb5eef3b031f34",Lists.newArrayList("test123","tyrdyz")); //文件的npath可以通过find函数查出

Groovy举例

def ret = Fx.file.watermark("N_202003_04_c706c31390b747408bfb5eef3b031f34",["test123","tyrdyz"]) //文件的npath可以通过find函数查出

2. 文件上传

Fx.file.uploadFile(<String extensionName>, <int fileSize>, <byte[] fileBytes>, <int userId>)

参数说明

参数 类型 说明
extensionName String 文件扩展名
fileSize int 文件大小
fileBytes byte[] 文件内容byte数组
userId int 可选参数,上传人id

返回值类型

APIResult

返回值说明

Map

Java举例

String text = "aaa";
byte[] byteData = Strings.toUTF8Bytes(text);
APIResult ret = Fx.file.uploadFile(".txt", byteData.length, byteData, 1000);

Groovy举例

def text = "aaa" as String
def byteData = Strings.toUTF8Bytes(text)
def ret = Fx.file.uploadFile(".txt", byteData.size(), byteData, 1000)

3. 把外部接口的文件上传

Fx.file.uploadFileByStream(<Request request>)

参数说明

参数 类型 说明
request Request 网络请求Request

返回值类型

APIResult

返回值说明

APIResult

Java举例

Request request = Request.builder()
  .method("POST")
  .url('http://httpbin.org/post')
  .timeout(7000)
  .retryCount(3)
  .body(body)
  .build()
APIResult ret = Fx.getFile().uploadFileByStream(request)

Groovy举例

//构造Request请求
Request request = Request.builder()
  .method("POST")
  .url('http://httpbin.org/post')
  .timeout(7000)
  .retryCount(3)
  .body(body)
  .build()
def ret = Fx.file.uploadFileByStream(request)

4. 文件下载

Fx.file.downloadFile(<String nPath>)

参数说明

参数 类型 说明
nPath String 文件的nPath

返回值类型

APIResult

返回值说明

FileDownloadData

Java举例

APIResult ret = Fx.getFile().downloadFile("N_202007_12_001731386ccf40698523c39744b0161c");
FileDownloadData fileDowloadData = (FileDownloadData)ret.getData();
byte[] fileData = fileDowloadData.getFileData();
String str = Strings.toUTF8String(fileData);

Groovy举例

def ret = Fx.file.downloadFile("N_202007_12_001731386ccf40698523c39744b0161c")
def fileDowloadData = ret[1]
def fileData = fileDowloadData['fileData'] as byte[]
def str = Strings.toUTF8String(fileData) as String

5. 文件打包发送给指定用户

Fx.file.packedFile(<List files>, <List userIds>)

参数说明

参数 类型 说明
files List 构建文件的列表
userIds List 一步打包成功后,给人员提醒

返回值类型

APIResult

返回值说明

Map

Java举例

//定义需要打包发送的文件,参数分别为:打包后的文件名、对象下的文件路径(通过find函数可查询到)、文件后缀、文件打包后的包内存放路径
UserFile file = UserFile.of("文件1", "N_201907_31_57a33fb0c999447bb93fa1e4cc6e649d", "jpg", "/image");
List packFileList = Lists.newArrayList(file);
//把fileList中的文件打包后,通过人员id参数发送给指定人
final APIResult result = Fx.file.packedFile(packFileList, ["1000"]);

Groovy举例

//定义需要打包发送的文件,参数分别为:打包后的文件名、对象下的文件路径(通过find函数可查询到)、文件后缀、文件打包后的包内存放路径
UserFile file = UserFile.of("文件1","N_201907_31_57a33fb0c999447bb93fa1e4cc6e649d","jpg","/image")
List packFileList = []
packFileList.add(file)
//把fileList中的文件打包后,通过人员id参数发送给指定人
final APIResult result = Fx.file.packedFile(packFileList, Lists.newArrayList("1000"));

6. 无权限文件下载,获取文件下载token

Fx.file.createFileShareTokens(<int expireMinute>, <List pathList>)

参数说明

参数 类型 说明
expireMinute int 过期时间,单位分钟,最大支持15分钟
pathList List 文件nPath列表

返回值类型

APIResult

返回值说明

Map

Java举例

//获取无权限文件的shareToken
List paths = Lists.newArrayList("N_202102_03_54c5ede542154b748c6f9381d96a1956");
//获取无权限文件的shareToken
APIResult ret = Fx.file.createFileShareTokens(5, paths);
if (ret.isError()) {
    log.info(ret.message());
} else {
    log.info(ret.getData());
}
//获取到shareToken后用下列链接下载文件:
//http://www.fxiaoke.com/FSC/N/FileShare/DownloadFileBySharedTokenV2?sharedToken=6AA905C78D85C91D796261356AF7467E53719536C4515B3328F7D65FC8476DC777DE783881DF4588EB6B9F0AEEF0F46060EA5D49185941B59C4531F5967FA07B7424EDF8BF20F11F6AE89573CF7F96735EC0284E1F637AE3&name=111.jpg

Groovy举例

//获取无权限文件的shareToken
List paths = ['N_202102_03_54c5ede542154b748c6f9381d96a1956']
//获取无权限文件的shareToken
def(boolean error, Map data, String  errorMessage)  = Fx.file.createFileShareTokens(5, paths)
if (error) {
log.info(errorMessage)
} else {
log.info(data)
}
//获取到shareToken后用下列链接下载文件:
//http://www.fxiaoke.com/FSC/N/FileShare/DownloadFileBySharedTokenV2?sharedToken=6AA905C78D85C91D796261356AF7467E53719536C4515B3328F7D65FC8476DC777DE783881DF4588EB6B9F0AEEF0F46060EA5D49185941B59C4531F5967FA07B7424EDF8BF20F11F6AE89573CF7F96735EC0284E1F637AE3&name=111.jpg

7. 获取附件预签名url

Fx.file.getPresignedUrl(<List paths>, <int expire>)

参数说明

参数 类型 说明
paths List 文件npath集合
expire int url有效期(单位:秒)

返回值类型

APIResult

返回值说明

List

Java举例

List<String>npaths = Lists.newArrayList("N_202207_06_2b51df0dd11043ee9c0ad341742f95bb");
int expire = 100;
APIResult ret = Fx.file.getPresignedUrl(npaths, expire);
if (ret.isError()) {
    log.info(ret.message());
} else {
    log.info(ret.getData());
}

Groovy举例

List npaths = ["N_202207_06_2b51df0dd11043ee9c0ad341742f95bb"]
int expire = 100
def(boolean error, List data, String message) = Fx.file.getPresignedUrl(npaths, expire)
if (error) {
  log.info("error: " + message)
} else {
  log.info(data)
}

8. 转换为无权限npath

Fx.file.convertPath(<String path>)

参数说明

参数 类型 说明
path String 文件npath

返回值类型

APIResult

返回值说明

Map

Java举例

def (Boolean error, Map data, String message) = Fx.file.convertPath("N_202208_01_3628e0ba470b4086aa04dd8f3e93ed5a")
if (error) {
  log.info("error :" + message)
} else {
  log.info(data)
}

Groovy举例

def (Boolean error, Map data, String message) = Fx.file.convertPath("N_202208_01_3628e0ba470b4086aa04dd8f3e93ed5a")
if (error) {
  log.info("error :" + message)
} else {
  log.info(data)
}

results matching ""

    No results matching ""