美文网首页
iOS Wifi传歌GCDWebUploader

iOS Wifi传歌GCDWebUploader

作者: 倪大头 | 来源:发表于2018-12-15 16:27 被阅读54次

    git地址:https://github.com/swisspol/GCDWebServer

    或者用pod安装:pod "GCDWebServer/WebUploader", "~> 3.0"

    #import "WebUploaderViewController.h"
    #import "GCDWebUploader.h"
    #import <AFNetworking/AFNetworking.h>
    
    @interface WebUploaderViewController () <GCDWebUploaderDelegate>
    
    @property (nonatomic, strong) GCDWebUploader *webServer;
    
    @property (nonatomic, strong) NSString *documentsPath;
    
    @property (nonatomic, strong) UILabel *networkLabel;
    
    @end
    
    @implementation WebUploaderViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        [self createCustomNavi:@"WebUploader"];
        
        [self setUp];
    }
    
    - (void)setUp {
        //创建webServer,设置根目录
        [self creatDir:self.documentsPath];
        _webServer = [[GCDWebUploader alloc] initWithUploadDirectory:self.documentsPath];
        //设置代理
        _webServer.delegate = self;
        _webServer.allowHiddenItems = YES;
        //限制文件上传类型
        _webServer.allowedFileExtensions = @[@"mp3",@"doc", @"docx", @"xls", @"xlsx", @"txt", @"pdf"];
        
        _networkLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 100, UI_SCREEN_WIDTH, 100)];
        _networkLabel.textColor = [UIColor blackColor];
        _networkLabel.textAlignment = 1;
        _networkLabel.font = [UIFont systemFontOfSize:14];
        [self.view addSubview:_networkLabel];
        
        BOOL isOK = [_webServer start];
        if (isOK) {
            _networkLabel.text = [NSString stringWithFormat:@"%@", _webServer.serverURL];
        }else {
            _networkLabel.text = @"启动失败,请退出当前页面,重试";
        }
    }
    
    /**
     创建文件夹
     
     @param dirPath 文件夹名称
     @return 创建成功或失败
     */
    - (BOOL)creatDir:(NSString *)dirPath {
        if ([[NSFileManager defaultManager] fileExistsAtPath:dirPath]) {//判断dirPath路径文件夹是否已存在,此处dirPath为需要新建的文件夹的绝对路径
            NSLog(@"沙盒目录已经存在%@",dirPath);
            return NO;
        }else {
            [[NSFileManager defaultManager] createDirectoryAtPath:dirPath withIntermediateDirectories:YES attributes:nil error:nil];//创建文件夹
            NSLog(@"创建成功%@",dirPath);
            return YES;
        }
    }
    
    - (NSString *)documentsPath {
        return  [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] stringByAppendingPathComponent:[NSString stringWithFormat:@"Music"]];
    }
    
    #pragma mark - <GCDWebUploaderDelegate>
    //上传文件到目录
    - (void)webUploader:(GCDWebUploader*)uploader didUploadFileAtPath:(NSString*)path {
        NSLog(@"上传音乐 %@", [self getMusicFileArray]);
    }
    
    - (NSString *)getFilePath:(NSString *)fileName {
        return  [self.documentsPath stringByAppendingPathComponent:fileName];
    }
    
    //获取目录下的文件
    - (NSMutableArray *)getMusicFileArray {
        NSFileManager *fileManager = [NSFileManager defaultManager];
        return [NSMutableArray arrayWithArray:[fileManager contentsOfDirectoryAtPath:self.documentsPath error:nil]];
    }
    
    @end
    

    在浏览器输入获取的ip(_webServer.serverURL)就可以上传文件到手机了,需要电脑和手机在同一网络

    屏幕快照 2018-12-15 下午4.27.17.png

    相关文章

      网友评论

          本文标题:iOS Wifi传歌GCDWebUploader

          本文链接:https://www.haomeiwen.com/subject/hayahqtx.html