首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取AVURLAsset的文件名?

如何获取AVURLAsset的文件名?
EN

Stack Overflow用户
提问于 2013-10-04 00:29:09
回答 2查看 2.3K关注 0票数 0

我获得了这样一个AVURLAsset的网址:

代码语言:javascript
复制
NSURL *url = [[asset defaultRepresentation] url];

在控制台中,AVURLAsset的url如下所示:

assets-library://asset/asset.mov?id=A3210417-4BAC-1C78-BD93-4BDD286247D9&ext=mov

我试着从URL中获得扩展名如下:

代码语言:javascript
复制
NSString *last = [[url URLByDeletingPathExtension] lastPathComponent];
NSString *tnFileName = [NSString stringWithFormat:@"%@_tn.%@", last, url.pathExtension];

下面是tnFileName的控制台日志:

tnFileName = asset_tn.mov

如何获得A 3210417-4 4BAC 1C78-BD93-4 BDD286247D9部分的字符串?或者,对于资产是否有不同的唯一ID来缓存资产的静态图像?

为了澄清这一点,我需要将缩略图存储到磁盘上,并且我希望使用与资产匹配的名称。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-04 10:40:22

用这样的弦来演奏:

代码语言:javascript
复制
NSString * urlName = @"assets-library://asset/asset.mov?id=A3210417-4BAC-1C78-BD93-

4BDD286247D9&ext=mov";

    NSArray *arr = [urlName componentsSeparatedByString:@"id"];

    NSString *str = [arr lastObject];

    NSArray *arr1 = [str componentsSeparatedByString:@"&"];

    NSLog(@"array is %@",arr1);

    NSString *str2 = [[arr1 objectAtIndex:0] substringFromIndex:1];

    NSLog(@"str2 is %@",str2);

输出为A 3210417-4 4BAC 1C78-BD93-4BDD286247D9 :)

票数 3
EN

Stack Overflow用户

发布于 2013-10-04 09:14:08

就像这样:

@"assets-library://asset/asset.mov?id=A3210417-4BAC-1C78-BD93- NSString * urlName =

4BDD286247D9&ext=mov";

代码语言:javascript
复制
NSArray *arr = [urlName componentsSeparatedByString:@"id"];

NSString *str = [arr lastObject];

NSArray *arr1 = [str componentsSeparatedByString:@"&"];

NSLog(@"array is %@",arr1);

NSString *str2 = [[arr1 objectAtIndex:0] substringFromIndex:1];

NSLog(@"str2 is %@",str2);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19171284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档