iOS图片上传服务器(ASIHTTPRequest,SpringMVC)

最近开始做自己app的服务器,因为正在参与的公司项目用的是springMVC,干脆拿这个做服务器,iOS端采用第三方鼎鼎大名的ASIHTTPRequest(但是已停更很久),经过一天折腾,终于实现简单的图片上传

  1. 配置ASIHTTPRequest,参见
    ASIHTTPRequest配置说明
  2. 搭建简单的springMVC环境
  3. 代码

    iOS端:

-(void)uploadImgToServer:(UIImage*)image{
    ASIFormDataRequest *formDataRequest=[ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://tyrantkemp.imwork.net:21848/mvc1/helloworld/uploadfile"]];
    [formDataRequest setPostValue:@"hahaha" forKey:@"name"];
    NSData *postData=UIImageJPEGRepresentation(image, 3);
    if(postData==nil){
        NSLog(@"pic data为空!!!");
    }
    [formDataRequest setDelegate:self];
    [formDataRequest addData:postData forKey:@"file"];
    NSLog(@"pic data:%@",formDataRequest);
    [formDataRequest setDidFailSelector:@selector(urlRequestFailed:)];
    [formDataRequest setDidFinishSelector:@selector(urlRequestSucceeded:)];
    [formDataRequest startSynchronous];
   // NSLog(@"responce is %@",[formDataRequest responseString]);

}
//请求失败
-(void)urlRequestFailed:(ASIHTTPRequest *)request
{
    NSError *error =[request error];
    NSLog(@"%@",error);
    NSLog(@"连接失败!");
    UIAlertView * alt=[[UIAlertView alloc] initWithTitle:@"提示" message:@"连接服务器失败" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
    [alt show];
}

//请求成功
-(void)urlRequestSucceeded:(ASIHTTPRequest *)request
{
    NSData *data=[request responseData];
    NSXMLParser *parser=[[NSXMLParser alloc] initWithData:data];
    NSLog(@"data length = %d",[data length]);
    NSLog(@"xml data = %@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    [parser setDelegate:self];
    [parser parse];//进入解析
}

springmvc端:

@RequestMapping(value = "/uploadfile", method = RequestMethod.POST)
public String handleFileUpload(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest request) throws FileUploadException{
         long startTime=System.currentTimeMillis();   //获取开始时间
         if(!file.isEmpty()){
             try {  

                 File ouputimage = new File("C:/pic/green2.jpg"); //新建一个文件
                 try {
                 file.getFileItem().write(ouputimage); //将上传的文件写入新建的文件中
                 } catch (Exception e) {
                   e.printStackTrace();
                 }

             }catch(Exception e){
                 e.printStackTrace();
             }

         }
         long endTime=System.currentTimeMillis(); //获取结束时间
         System.out.println("上传文件共使用时间:"+(endTime-startTime));
         return "success";
    }
时间: 2024-07-28 16:52:48

iOS图片上传服务器(ASIHTTPRequest,SpringMVC)的相关文章

服务器那边没数据-iOS 图片上传,服务器那边收不到数据,显示字节数为0

问题描述 iOS 图片上传,服务器那边收不到数据,显示字节数为0 /** 上传头像 接口说明 此接接口以POST方式请求. 请求说明http://124.207.188.52/firmail/app/imgupload/upload?uid=111&file=图片二进制流 参数说明 uid 用户id file 图片的二进制流 */ (void)asiUploadIcon { NSURL *url = [NSURL URLWithString:@"http://124.207.188.52

android 图片上传 服务器接收图片方法代码

问题描述 android 图片上传 服务器接收图片方法代码 求android 批量图片上传 服务器接收,代码,最好有详细解释,万分感谢jackcathy369@163.com 解决方案 http://programmerguru.com/android-tutorial/how-to-upload-image-to-java-server/......答案就在这里:Android 上传图片,服务器接收图片实现 解决方案二: http://blog.csdn.net/y150481863/arti

ckeditor的图片上传服务器小图能上传到服务器,大图却不行

问题描述 ckeditor的图片上传服务器小图能上传到服务器,大图却不行 这是小图这是大图 解决方案 解决方案二: 解决方案三: 你动态页用的什么?asp还是asp.net?图片多大? asp默认只能200kb,asp.net是4M

苹果开发之ios图片上传方法

方法1 在项目中我们经常会遇到需要上传图片的地方,比如更换头像,上传证件照片等.下面介绍一种上传图片的方法. 首先我们需要在项目里打开手机的相册或者相机,然后在下面这个代理方法里进行图片的上传操作. 需要遵循 <UIImagePickerControllerDelegate,UINavigationControllerDelegate>代理. -(void)imagePickerController:(UIImagePickerController *)picker didFinishPick

android实现图片上传功能(springMvc)

本文实例为大家分享了Android图片上传的具体代码,供大家参考,具体内容如下 Android端: String fileName = tvFilename.getText().toString(); RequestBody description = RequestBody.create( okhttp3.MultipartBody.FORM, fileName); File fileImage = new File(saveFileName); RequestBody requestBody

iOS实现压缩图片上传功能_IOS

本文实例为大家分享了iOS实现压缩图片上传功能,供大家参考,具体内容如下 #pragma mark - 打开相机 -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ UIImage *image = info[UIImagePickerControllerOriginalImage]; s

地图-android 头像上传服务器

问题描述 android 头像上传服务器 实现一个选择本地图片上传服务器,上传的应该是路径还是什么,我觉得应该不是路径,毕竟是本地的 解决方案 上传的当然不是路径,上传的是输出流,服务器端再接收输入流. 解决方案二: Android 测试上传头像到服务器android上传头像android 上传头像

请教:关于图片上传

问题描述 我在做一个关于自动点菜系统的毕业设计,现在在一个有关图片上传服务器的操作.但怎么都出错,请帮忙分析下怎么回事好吗?下面是程序部分...用的是struts+hibernateaction部分publicclassNewMenuActionextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponserespo

移动端H5图片上传的bug注意事项分析

上周做一个关于移动端图片压缩上传的功能.期间踩了几个坑,在此总结下. 大体的思路是,部分API的兼容性请参照caniuse: 利用FileReader,读取blob对象,或者是file对象,将图片转化为data uri的形式. 使用canvas,在页面上新建一个画布,利用canvas提供的API,将图片画入这个画布当中. 利用canvas.toDataURL(),进行图片的压缩,得到图片的data uri的值 上传文件. 步骤1当中,在进行图片压缩前,还是对图片大小做了判断的,如果图片大小大于2