频道栏目
首页 > 程序开发 > 移动开发 > 其他 > 正文
AFNetWorking实现网络音乐视频或者图片的下载
2017-11-04 10:06:02      个评论    来源:栗子的博客  
收藏   我要投稿

AFNetWorking实现网络音乐视频或者图片的下载。

healp.h

#import 

@interface Healp : NSObject

typedef void(^filePath)(NSString  *data);

+(void)downLoadUrlString:(NSString *)urlStr returnStr:(filePath)str;

@end

healp.m
#import "Healp.h"
#import 

@implementation Healp

+(void)downLoadUrlString:(NSString *)urlStr returnStr:(filePath)str{
    AFHTTPSessionManager *manager  = [AFHTTPSessionManager manager];
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]];
    NSURLSessionDownloadTask *download  =[manager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
        
    } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
        NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]stringByAppendingPathComponent:response.suggestedFilename];
        return [NSURL fileURLWithPath:filePath];
        
    } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
        NSString *strp = [NSString stringWithFormat:@"%@",filePath];
        str(strp);
    }];
    [download resume];
    
}
@end

调用
#import "ViewController.h"
#import "Healp.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
     self.simple = [TonePlayerSimple tonePlayer];
    
    NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString *urlStr = [NSString stringWithFormat:@"https://fdfs.xmcdn.com/group11/M00/AD/5F/wKgDa1ZfFi-gRNYMABuxsyS4ea4688.mp3"];
    NSString *str = [urlStr lastPathComponent];//截取文件名wKgDa1ZfFi-gRNYMABuxsyS4ea4688.mp3
    NSString *filePath = [NSString stringWithFormat:@"%@/%@",docDirPath,str];
    BOOL isHave = [[NSFileManager defaultManager] fileExistsAtPath:filePath];//判断是不是已经存在
     if (isHave) {
    	//如果已经下载就直接使用
       //直接调用filePath
    }else{
    	//如果没有下载就先下载在使用
        [Healp downLoadUrlString:urlStr returnStr:^(NSString *data) {
        //直接调用data
        }];
       
    }
}
点击复制链接 与好友分享!回本站首页
上一篇:UL列表+滑过动画实现方案
下一篇:slfj4依赖冲突: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站