iOS开发之上传文件

2023-02-20  本文已影响0人  i_苏

因最近项目上提出上传iPhone文件的需求,所以开始探索该方面的实现流程,凭借着直觉,进行了简单的代码探索,没想到真的有UIDocument相关的类,就误打误撞的开始了探索旅程~

下面是简单实现,具体的需要参照项目实际需求进行开发

首先需要导入代理,因为我们需要通过回调来获取我们所选取文件的路径<UIDocumentPickerDelegate>

其次就是实现了,直接上代码

 UIDocumentPickerViewController *documentPickerViewController =

//此处为iOS14以前的实现方法,官方建议iOS14之后使用  initForOpeningContentTypes:asCopy: 或 initForOpeningContentTypes: instead 其中的一个方法

 [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"public.item"] inMode:UIDocumentPickerModeOpen];

    documentPickerViewController.delegate=self;

    [selfpresentViewController:documentPickerViewControlleranimated:YEScompletion:nil];

代理实现获取到的是路径,如需上传则需要将文件转换为二进制上传

- (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentsAtURLs:(NSArray<NSURL *> *)urls {

    NSData*fileData = [NSDatadataWithContentsOfFile:urls[0]];

    NSLog(@"获取到的文件二进制数据:%@",fileData);

}

上一篇下一篇

猜你喜欢

热点阅读