ASIFormDataRequest 上传图片

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    [self request];
}

- (void)saveImage
{
    NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
    [imageData writeToFile:[self GetTempPath] atomically:YES];
}

-(NSString *)GetTempPath{
    NSString *tempPath =[NSString stringWithFormat:@"%@/upload.jpg",NSTemporaryDirectory()];
    return tempPath;
}

- (void)request
{
    NSDictionary *postDic = [[NSDictionary alloc]init];
    [postDic setValue:@"test" forKey:@"userId"];
    [postDic setValue:[self GetTempPath] forKey:@"file"];

    [self uploadImage:postDic];
}

- (void)uploadImage:(NSDictionary *)dic
{
    ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:postUrl]];

    // 通常数据是以’application/x-www-form-urlencoded’格式发送的,如果上传了二进制数据或者文件,那么格式将自动变为‘multipart/form-data’注意要和服务器统一。
    [request addRequestHeader:@"Content-Type" value:@"multipart/form-data"];
    //超时时间
    request.timeOutSeconds = 30;

    //定义异步方法
    [request setDelegate:self];
    [request setRequestMethod:@"POST"];
    [request setDidFailSelector:@selector(commonRequestDidFailed:)];
    [request setDidFinishSelector:@selector(commonRequestDidSuccess:)];

    //post的数据
    id key, value;
    for (int i = 0; i < [dic allKeys].count; i++)
    {

        key = [keys objectAtIndex: i];
        value = [params objectForKey: key];
        NSLog (@"Key: %@ for value: %@", key, value);

        if ([key isEqualToString:@"file"]) {
            [request setFile:value forKey:key];
            [request setShouldStreamPostDataFromDisk:YES];
        }
        else
        {
            [request setPostValue:value forKey:key];
        }

    }

     [request startSynchronous];
}

ASIFormDataRequest 上传图片

时间: 2024-10-13 08:32:17

ASIFormDataRequest 上传图片的相关文章

ios随笔

1.编写IOS应用程序有何不同      1)只有一个应用程序正在运行      2)只有一个窗口      3)受限访问      4)有限的访问时间      5)有限的屏幕大小      6)有限的系统资源      7)不支持垃圾收集      8)新功能 :定位方法 内置照相机和图片库 内置加速计      9)与众不同的方法2.nib文件的构成          1)File‘s Owner 它表示从磁盘加载nib文件的对象          2)First Responder 第一

ASIFormDataRequest/ASIHTTPRequest 向服务器发送数据/上传图片 返回网页错误数据

例如返回: 尽管它走的是成功返回的方法,可是依然返回了错误的网页数据,引起此情况有以下可能:1.上传多个参数时,缺少参数: 2.参数的格式不正确:(LZ的错误就是参数是二次使用,没注意参数已经修改过格式了) 3.向发送服务器发送的key值一定要确认正确: ASIFormDataRequest/ASIHTTPRequest 向服务器发送数据/上传图片 返回网页错误数据

ASIFormDataRequest实现上传图片

UIImage *im = [UIImage imageWithContentsOfFile:path];//通过path图片路径获取图片 NSData *data = UIImagePNGRepresentation(im);//获取图片数据 /* ios中获取图片的方法有两种,一种是UIImageJPEGRepresentation ,一种是UIImagePNGRepresentation 前者获取到图片的数据量要比后者的小很多.. */ NSMutableData *imageData =

post上传图片到服务器

这几天,项目需要将图片,音频文件(如mp3)上传到服务器,以方便之后的使用.在网上查询了很多资料,一般有以下几种方式,1.ASIHTTPRequest 方式 2. AFNetWorking方式,3. ASIFormDataRequest方式    4 .NSMutableURLRequest方式.前面3种方式都需要加载对应的库或者第3方库,我并没有搞出来.所以现在就第3种方式进行说明. JAVA可以使用表单方式直接上传图片,音频等等.但IOS并没有提供类似的方式,如果要使用的话,就需要模拟出类似

本地上传图片预览

<!DOCTYPE html > <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>图片上传本地预览,获得图片的base64(可压缩)</title> <style type="text/css"> .upload_image {

java web应用用户上传图片的存储地址

原来工程的上传图片存储地址在web应用的目录下,并且是硬编码到其中的: 每次使用maven tomcat:redeploy以后,这个目录就没有了. 现在想要把上传图片的位置移动到tomcat的webapps目录中专门存放图片的一个目录下. 即,新建的一个images目录用来存放web应用的图片们. 这样就把工程和用户上传图片分离了,以后在redeploy时也不用预先备upload目录,然后再拷贝回去,因而在web应该更新时比较方便些.此外,还想改变文件路径被硬编码到java文件中的现状,所以将文

微信JS-SDK实现上传图片功能

最近在项目开放中,有一个在微信WEB项目中上传图片的需求,一开始使用了传统的<input type="file">的方式去实现,但是后面发现在使用这种传统模式时会由于手机系统的差异而导致一系列的问题,后改用微信JSSDK的方式来实现. 总的来说,利用JSSDK来实现该功能一共分为四步. 1. 调用wx.config(),初始化jssdk的配置,并在jsApiList中配置上传图片需要的四个api('chooseImage','previewImage','uploadIma

jquery html5 file 上传图片显示图片

最近做了一个小例子,在上传用户图像时,如何在上传图片时显示图片.在网上找了很多资料也未能如愿,如是,就用jquery ,html5,实现了,由于开发是在linux 所以未能在ie下测试,在forefox,chrom下是可以的. 一.html下的代码是: <div class=' input_box' > <span class='spac' >头</span>相:<input class="input_style" id="'head

jquery实现上传图片及图片大小验证、图片预览效果代码

jquery实现上传图片及图片大小验证.图片预览效果代码 上传图片验证 */ function submit_upload_picture(){     var file = $('file_c').value;     if(!/.(gif|jpg|jpeg|png|gif|jpg|png)$/.test(file)){            alert("图片类型必须是.gif,jpeg,jpg,png中的一种")        }else{      $('both_form')