• 使用七牛上传图片代码,导入文件常遇问题解决方法


    http://kb.qiniu.com/5t06228o

    七牛上传图片代码如下

    QNUploadManager *upManager = [[QNUploadManager alloc] init];

    //为七牛上所给的"链接 + / "

    //_token 为七牛所给的token

        NSMutableString *stringURL = [NSMutableString stringWithString:@""];

        UIImage *image = info[@"UIImagePickerControllerEditedImage"];

        /*info中包括选取的照片,视频的主要信息

        NSString *const UIImagePickerControllerMediaType;         选取的类型 public.image  public.movie

        NSString *const UIImagePickerControllerOriginalImage;    修改前的UIImage object.

        NSString *const UIImagePickerControllerEditedImage;      修改后的UIImage object.

        NSString *const UIImagePickerControllerCropRect; 原始图片的尺寸NSValue object containing a CGRect data type

        NSString *const UIImagePickerControllerMediaURL;          视频在文件系统中 的 NSURL地址

        */

        NSString *fileName = [NSString stringWithFormat:@"%@_%@.jpg", [self getDateTimeString], [self randomStringWithLength:8]];

            NSData *data = [image resizedAndReturnData];

        [upManager putData:data

                       key:fileName

                     token:_token

                  complete: ^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {

                      

    //                  NSLog(@" --->> Info: %@  ", info);

    //                  NSLog(@" ---------------------");

    //                  NSLog(@" --->> Response: %@,  ", resp);

                      //拼接成返回的图片的外部链接

                      [stringURL appendString:key];

                      [_pictureButton sd_setBackgroundImageWithURL:[NSURL URLWithString:stringURL] forState:UIControlStateNormal];

                      [picker dismissViewControllerAnimated:YES completion:^{

                      }];

                  } option:nil];

        

    #pragma mark - 获取上传时间 (拼接成图片名称)

    - (NSString *)getDateTimeString

    {

        NSDateFormatter *formatter;

        NSString        *dateString;

        

        formatter = [[NSDateFormatter alloc] init];

        [formatter setDateFormat:@"yyyy-MM-dd_HH:mm:ss"];

        dateString = [formatter stringFromDate:[NSDate date]];

        return dateString;

    }

    - (NSString *)randomStringWithLength:(int)len

    {

        NSString *letters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

        NSMutableString *randomString = [NSMutableString stringWithCapacity: len];

        

        for (int i=0; i<len; i++) {

            [randomString appendFormat: @"%C", [letters characterAtIndex: arc4random_uniform((int)[letters length])]];

        }

        return randomString;

    }

  • 相关阅读:
    Spring自动装配Beans
    Spring过滤器组件自动扫描
    Spring自动扫描组件
    Spring EL运算符实例
    Spring EL方法调用实例
    Spring EL bean引用实例
    Spring EL hello world实例
    Spring @PostConstruct和@PreDestroy实例
    Spring Bean init-method 和 destroy-method实例
    Spring Bean InitializingBean和DisposableBean实例
  • 原文地址:https://www.cnblogs.com/qiutangfengmian/p/5025879.html
Copyright © 2020-2023  润新知