# 小程序文件管理
# 1. finfile路径转换为绝对路径
在有些场景下,我们拿到小程序的文件路径,无法获取到文件数据,这时可以用该方法转换为绝对路径。
比如,在使用小程序的转发功能时,返回的图片路径是小程序文件路径,可以用该方法转换为绝对路径,然后获取到图片数据再去调起第三方分享。 再比如,自定义api里,可以传递小程序文件路径的参数,宿主app用该方法转换为绝对路径后,即可拿到文件数据。
/**
将文件路径转为绝对路径
如果是 网络文件路径,则直接返回。
如果是小程序中的路径,比如finfile://tmp_fdfdkfjdkfjdkjfdkjf.jpg ,则会转为本地绝对路径
如果是小程序包中的文件路径,比如image/xxx.jpg,也会转为绝对路径
其他情况则返回传入的路径
@param path 文件路径
@return 文件的绝对路径
*/
- (NSString *)fat_absolutePathWithPath:(NSString *)path;
示例代码:
NSString *finfilePath = @"finfile://tmp_7C82E6C26B7627334E88355E9D286621.mp4";
NSString *path = [[FATClient sharedClient] fat_absolutePathWithPath:filePath];
# 2. 保存文件至当前小程序临时目录
SDK支持原生保存文件到小程序的缓存目录,然后返回文件的本地路径,以供小程序使用。
/**
保存文件到小程序的缓存路径
@param fileData 文件的二进制数据
@param fileName 文件名,需要保证文件名唯一,否则可能会覆盖
@return 文件的本地路径,例如:finfile://tmp_fdfdkfjdkfjdkjfdkjf.jgp
*/
- (NSString *)saveFile:(NSData *)fileData fileName:(NSString *)fileName;