文件下載及上傳

文件解壓縮

+(BOOL)createZipFileAtPath:(NSString*)path withFilesAtPaths:(NSArray*)paths;
+(BOOL)createZipFileAtPath:(NSString*)path withContentsOfDirectory:(NSString*)directoryPath;
  • 解壓文件
+(BOOL)unzipFileAtPath:(NSString*)path toDestination:(NSString*)destination

文件下載

小文件下載

如果文件比較小,下載方式會比較多
  • 直接用 NSData 的
+ (id)dataWithContentsOfURL:(NSURL *)url
  • 利用 NSURLConnection 發(fā)送一個 HTTP 請求去下載
  • 如果是下載圖片,還可以利用 SDWebImage 框架
如果是大文件下載,建議使用 NSURLSession 或者第三方框架

文件上傳

文件上傳的步驟

  • 設(shè)置請求頭
[request setValue:@"multipart/form-data; boundary=分割線" forHTTPHeaderField:@"Content-Type"];
  • 設(shè)置請求體

  • 非文件參數(shù)
    --分割線\r\n
    Content-Disposition: form-data; name="參數(shù)名"\r\n
    \r\n
    參數(shù)值
    \r\n

  • 文件參數(shù)
    --分割線\r\n
    Content-Disposition: form-data; name="參數(shù)名"; filename="文件名"\r\n
    Content-Type: 文件的MIMEType\r\n
    \r\n
    文件數(shù)據(jù)
    \r\n

  • 參數(shù)結(jié)束的標(biāo)記
    --分割線--\r\n

部分文件的 MIMEType

MIMEType

獲得文件的 MIMEType

  • 利用 NSURLConnection
- (NSString *)MIMEType:(NSURL *)url
{
    // 1.創(chuàng)建一個請求
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    // 2.發(fā)送請求(返回響應(yīng))
    NSURLResponse *response = nil;
    [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    // 3.獲得MIMEType
    return response.MIMEType;
}
  • C 語言 API
- (NSString *)mimeTypeForFileAtPath:(NSString *)path
{
    if (![[[NSFileManager alloc] init] fileExistsAtPath:path]) 
    {
        return nil;
    }
    
    CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)[path pathExtension], NULL);
    CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass (UTI, kUTTagClassMIMEType);
    CFRelease(UTI);

    if (!MIMEType) 
    {
        return @"application/octet-stream";
    }

    return (__bridge NSString *)(MIMEType);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容