zoukankan      html  css  js  c++  java
  • 文件下载与NSOutputStream

    代码:

    #import "ViewController.h"
    
    @interface ViewController () <NSURLConnectionDataDelegate>
    
    @property (nonatomic, strong) NSOutputStream *outputStream;
    
    @end
    
    @implementation ViewController
    
    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
        NSString *urlString = @"http://127.0.0.1/file";
        NSURL *url = [NSURL URLWithString:urlString];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
        [NSURLConnection connectionWithRequest:request delegate:self];
    }
    
    #pragma mark - NSURLConnectionDataDelegate
    
    - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
        // caches目录路径
        NSString *cachesPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
        // 文件名
        NSString *fileName = response.suggestedFilename;
        // 文件完整路径
        NSString *fileFullPath = [cachesPath stringByAppendingPathComponent:fileName];
        NSLog(@"%@", fileFullPath);
        
        // 创建流
        NSOutputStream *outputStream = [[NSOutputStream alloc] initToFileAtPath:fileFullPath append:YES];
        self.outputStream = outputStream;
        
        // 打开流
        [outputStream open];
    }
    
    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
        [self.outputStream write:data.bytes maxLength:data.length];
    }
    
    - (void)connectionDidFinishLoading:(NSURLConnection *)connection {
        // 关闭流
        [self.outputStream close];
    }
    
    @end
  • 相关阅读:
    字符编码笔记:ASCII,Unicode 和 UTF-8
    nginx 负载均衡设置
    ubuntu 修改时区
    js 高阶函数 filter
    js 高阶函数 map reduce
    省市联级菜单--js+html
    php代码优化技巧
    json、xml ---- 数据格式生成类
    初识设计模式(1)---单例、工厂、注册树
    php 链式操作的实现 学习记录
  • 原文地址:https://www.cnblogs.com/xwoder/p/6158280.html
Copyright © 2011-2022 走看看