• IOS 上传图片


    下面是图片上传的方法:

    -(void)loadImage:(NSString*)aurl
    {
            NSData              *imageData;
            NSMutableData       *postBody;
            NSString            *stringBoundary, *contentType;
            NSURL *url = [NSURL URLWithString:aurl];  //将字符串转换为NSURL格式
            
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *path = [documentsDirectory stringByAppendingPathComponent:@"1.jpg"];

        imageData = [[NSData alloc] initWithContentsOfFile:path];

            ASIFormDataRequest *aRequest = [[ASIFormDataRequest alloc] initWithURL:url]; 
            
            stringBoundary = [NSString stringWithString:@"0xKhTmLbOuNdArY"];
            
        contentType    = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", stringBoundary];

            [aRequest addRequestHeader:@"Content-Type" value:contentType];
            
            postBody = [[NSMutableData alloc] init];
            
        [postBody appendData:[[NSString stringWithFormat:@"\r\n\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
            
        [postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"title\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
            
        [postBody appendData:[[NSString stringWithString:@"lighttable"] dataUsingEncoding:NSUTF8StringEncoding]];  // So Light Table show up as source in Twitter post
            
        NSString *imageFileName = [NSString stringWithFormat:@"photo.jpeg"];
            
        [postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
            
        [postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"upload\"; filename=\"%@\"\r\n",imageFileName] dataUsingEncoding:NSUTF8StringEncoding]];
            
        [postBody appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
            
        [postBody appendData:imageData];
            
            [postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];
            
            [postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"password\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
            
        [postBody appendData:[[NSString stringWithString:@"lighttablexxxxxxxx"] dataUsingEncoding:NSUTF8StringEncoding]];  
            
            [postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];

        [aRequest setDelegate:self];
        
            [aRequest appendPostData:postBody];
        
        [aRequest setRequestMethod:@"POST"];  
            
        [aRequest startAsynchronous];
            
            [postBody release];
        [aRequest release];
    }

     
     
     
  • 相关阅读:
    Redis过期机制
    vim使用
    ex command in Linux with examples
    【转】Linux 文档编辑 : ex 命令详解
    vscode go语言环境搭建
    golang slice a 的地址和a[0]的地址不一样
    文件加锁,作用是用来做什么?以及使用细节
    文件锁
    go创建指定大小的文件,获取文件大小
    go 实现内存映射和进程间通信
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3055193.html
Copyright © 2020-2023  润新知