iOS上传图片

我们在项目中,上传图片多用于头像与评论,并且大多是jpeg的格式为主。
在上传头像的参数中,我们首先与需要一个上传的图片(UIImage)和一个图片的压缩倍数(float),再者我们需要一个图片的类型(jpeg/png),最后我们需要和后台商量一个格式来设计把图片转成字符串后的传输格式。

代码:

- (NSString *) image2DataURL: (UIImage *) image  
{  
    NSData *imageData = nil;  
    NSString *mimeType = nil;  
      
    //图片要压缩的比例,后台要求是150的高度,这个150可以根据你的需求改动  
    CGFloat x= 150/image.size.height;  
    if (x>1) {  
        x=1.;  
    }  
      
    //根据需要的格式把图片按比例,压缩成相应大小的文件。  
    //如果是png格式则可用 UIImagePNGRepresentation  
    imageData = UIImageJPEGRepresentation(image, x);  
      
    //和服务器商量的格式,这个是标准格式,但是 data:%@ 这一块包括 base64, 都可以写在服务器  
    //如果是png格式则 image/png  
    mimeType = @"image/jpeg";  
    return [NSString stringWithFormat:@"data:%@;base64,%@", mimeType,  
            [imageData base64EncodedStringWithOptions: 0]];  
}

时间: 2024-10-08 10:09:10

iOS上传图片的相关文章

IOS上传图片方法类

IOS上传图片方法类 iPhone开发中遇到上传图片问题,找到多资料,最终封装了一个类,请大家指点,代码如下 // // RequestPostUploadHelper.h // demodes // // Created by 张浩 on 13-5-8. // Copyright (c) 2013年 张浩. All rights reserved. // #import <Foundation/Foundation.h> @interface RequestPostUploadHelper

iOS上传图片--根据图片的数量实现动态布局

在iOS开发中,应该绝大部分软件有用到上传图片功能(聊天.发布说说.发表评论等等),比如微信 我就简单说下类似微信的图片上传的自动布局功能: 1.默认只显示一张占位图片 2.根据图片选择的数量,改变占位图片的位置 3.一旦图片数量超过一行的数量,页面自动适应,变成2行 4.点击图片 和 点击"+"号占位图片的方法不同    点击图片-->放大图片 点击"+"号图片: 5.最多显示9张图片,当显示9张之后,占位图片"+"就不在显示了 以上的图

微信网页IOS上传图片旋转解决方案

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>分享</title> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"> <meta n

vue iOS上传图片file 出错

前言 用vue 移动端上传图片在低版本的 ios 手机上 图片转换base64 在转换file 文件类型 会报错 并且报错 "Script Error " 查阅了github 和一些文档发现 可以吧 file 改为 Blob 的  格式上传,哈哈 上的代码 changeBase(dataurl, filename) { var arr = dataurl.split(","), mime = arr[0].match(/:(.*?);/)[1], bstr = at

iOS上传图片问题

今天一定得写一篇博客,有以下原因: 1>第一次做图片上传的功能,算是一种记录吧; 2>在这个问题上,纠结,迷茫了很久,主要还是被后台坑了; 1.上传图片的方法是用的AFNetWorking的方法,在他的基础上再次封装了一次: 主要是后台要求参数放path,图片放body,queryString放在url上,只是用表单传文件参数: + (NSURLSessionUploadTask *)uploadFileWithURLString:(NSString *)urlString queryPara

ios 上传图片base64 demo

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ //1.获取当前选中相册的照片 UIImage * image = [info objectForKey:UIImagePickerControllerOriginalImage]; //1.1创建一个imageview属性,显示图片,

Vue上传图片压缩的问题

上传图片太大,需要前台进行图片压缩 上传图片大于100* 1024 的用canvas 来压缩来解决 然后IOS拍照上传会有图片旋转的问题,然后用了github 上的exif.js很好的插件,项目里面npm install exif-js --save 安装, 然后import一下就可以使用了 html <div class="operate"> <span class="btn" @click="sendMsg" v-if=&q

今天产品提了一个需求,要求用户上传图片进行剪切,上网搜了一下 cropperjs 挺不错,官网api不怎么看得懂,记录一下使用方法

我使用的是vue,移动端的项目. 官网地址:cropperjs GitHub地址:https://github.com/fengyuanchen/cropperjs/blob/master/README.md 先看效果图,不然没有吸引力啊!!哈哈 这里只记录使用方法,至于怎么实现和要修改一些参数,大家前往官网api了解. 首先我们先安装 npm install cropperjs exif-js 新建一个文件 存放cropperjs 处理图片的方法(我放到了 static 文件下的 clippe

vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理

一.前言 三年.net开发转前端已经四个月了,前端主要用webpack+vue,由于后端转过来的,前端不够系统,希望分享下开发心得与园友一起学习. 图片的上传之前都是用的插件(ajaxupload),或者传统上传图片的方式,各有利弊:插件的问题是依赖jq并且会使系统比较臃肿,还有传统的web开发模式 前后端偶尔在一起及对用户体验要求低,现在公司采用webpack+vue+restfullApi开发模式 前后端完全分离,遵从高内聚,低偶尔的原则,开发人员各司其职,一则提升开发效率(从长期来看,短期