iOS实现图片、文件的上传

作者: 正确的道路上用笨方法 | 来源:发表于2016-12-02 12:56 被阅读804次

    --

    遇到很多图片文件上传的问题,在网上找了很多demo,但都是不是很理想,也讲得很出清楚,原理什么的都很不好,自己写一个,希望可以帮助新手

    图片上传

    1:创建图片名字

    NSString *imbName=@"pic.png";

    2:文件管理器:

    NSFileManager*fileManager = [NSFileManagerdefaultManager];

    3:获取所有文件的数组

    NSArray*directoryPaths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

    4:获取Documents目录,传递0代表是找在Documents目录下的文件

    NSString*documentDirectory = [directoryPathsobjectAtIndex:0];

    5:在已经获取的目录里边创建文件名字


    NSString*filePath = [documentDirectorystringByAppendingPathComponent:fileName];

    6:判断是否存在文件,如果不存在,重建一个哦

    if ( ![fileManagerfileExistsAtPath:filePath]) {

           [fileManagercreateFileAtPath:filePathcontents:nilattributes:nil];

    }

    7//把图片(self.setting.imagedata)放进这个文件夹里边

    if([self.setting.imagedata   writeToFile: filePath atomically:YES])

    {

      //加入完成后,开始上传

    NSFileManager*fileManager = [NSFileManagerdefaultManager];//重新建立管理器

    NSArray*directoryPaths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);//获取根数组

    NSString*documentDirectory = [directoryPathsobjectAtIndex:0];//获取根目录文件

    NSArray* fileArray = [fileManager contentsOfDirectoryAtPath:documentDirectoryerror:nil];//将所有根目录文件转化为数组

    //遍历根数组

    for (NSString* fileName in fileArray) {

    BOOL Flag =YES;

    //把所有的文件路径获取到

    NSString* fullPath = [documentDirectory stringByAppendingPathComponent:fileName];

    if ([fileManager fileExistsAtPath:fullPath    isDirectory:&flag]) {

    //if(flag)是文件夹,否则为文件

    if (!flag) {

    //找到需要上传的文件

    NSRangefoundObj=[fileNamerangeOfString:@"avatar"options:NSCaseInsensitiveSearch];

    if (foundObj.length==0)

    continue;

    [selfHttpUpload:[selfUrlGen:[NSStringstringWithFormat:@"/editAvatar"]]file:fileName];

    }

    }

    }

    相关文章

      网友评论

        本文标题:iOS实现图片、文件的上传

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