栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AFNetworking 4.x高版本上传图片,后端采用springBoot测试

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AFNetworking 4.x高版本上传图片,后端采用springBoot测试

AFNetworking 4.x高版本上传图片,后端采用springBoot测试

Pod加入

pod 'AFNetworking', '~> 4.0.1'

-(void)sendStatusWithImage{
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
    mgr.requestSerializer= [AFHTTPRequestSerializer serializer];
    mgr.responseSerializer= [AFHTTPResponseSerializer serializer];
    [mgr POST:@"http://localhost:8888/upload" parameters:nil headers:nil constructingBodyWithBlock:^(id  _Nonnull formData) {
        NSDate *date= [NSDate date];
        NSDateFormatter *df = [[NSDateFormatter alloc]init];
        df.dateFormat = @"yyyyMMddHHmmss";
        NSString *randomFileName = [df stringFromDate:date];
        NSString *newFileName = [NSString stringWithFormat:@"%@.jpg",randomFileName];
        UIImage *image  = [self.photosView.images firstObject];
        NSData *data = UIImageJPEGRepresentation(image, 1.0);
        NSLog(@"%@",data);
        //NSData *data1 = UIImagePNGRepresentation(image);压缩png图片的
        
        [formData appendPartWithFileData:data name:@"pic" fileName:newFileName mimeType:@"image/jpg"];
    } progress:^(NSProgress * _Nonnull uploadProgress) {
        NSLog(@"当前进度:%lld / 总进度:%lld",uploadProgress.completedUnitCount,uploadProgress.totalUnitCount);
    }  success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
            MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
            hud.mode = MBProgressHUDModeIndeterminate;
            hud.label.text = @"图片上传成功";
            hud.margin = 20;
            hud.hm_y = -150;
            hud.removeFromSuperViewonHide = YES;
            [hud hideAnimated:YES afterDelay:3];
            
        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
            NSLog(@"%@",error);
            MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
            hud.mode = MBProgressHUDModeIndeterminate;
            hud.label.text = @"发送失败";
            hud.margin = 20;
            hud.hm_y = -150;
            hud.removeFromSuperViewonHide = YES;
            [hud hideAnimated:YES afterDelay:3];
            
        }];
    
}

重点是 mgr.requestSerializer= [AFHTTPRequestSerializer serializer];
mgr.responseSerializer= [AFHTTPResponseSerializer serializer];
否则AFNetworking一直报错
java的springBoot 配置,重点配置thymeleaf
否则会报错,上传的图片也不能太大,否则也会报错,除非properties加入最大的上传图片大小。
thymeleaf pom的依赖

 
            org.springframework.boot
            spring-boot-starter-thymeleaf
        

springBoot的启动配置文件

spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false
server.port=8888
# 文件路径, 注意路径末尾一定要带上/
user.file.path=/Users/lujun/Desktop/
user.file.name=springboot.jpg

Mac系统没有C盘,D盘,F盘。用/Users代替

@Controller
public class FileUploadController {
        @Value("${user.file.path}")
        private String filePath;
        @Value("${user.file.name}")
        private String fileName;
        @GetMapping(value = "/index")
        public ModelAndView getIndex(){
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.setViewName("index");

            return modelAndView;
        }

    @RequestMapping("/upload")
    public ModelAndView update(@RequestParam("pic") MultipartFile multipartFile) {
    try {
            // 保存图片
            File file = new File(filePath + multipartFile.getOriginalFilename());
            multipartFile.transferTo(file);
        } catch (IOException e) {
            e.printStackTrace();
        }

        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("index");

        return modelAndView;

    }
}

仓库地址
https://gitee.com/johnson__save_admin/picture-upload-spring

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396798.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号