如何在多部分http post请求中发布图像数组

2024-01-19

我想上传一组图像,我应该如何附加array to NSMutableData。这是我的代码

func createBodyWithParametersMulti(parameters: [String: String]?, filePathKey: String?, imageDataKey: [NSData?], boundary: String) -> NSData {
        let body = NSMutableData();

        if parameters != nil {
            for (key, value) in parameters! {
                body.appendString("--\(boundary)\r\n")
                body.appendString("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n")
                body.appendString("\(value)\r\n")
            }
        }

        if(imageDataKey.count != 0){
            let filename=filePathKey as! String
            // let mimetype = "image/jpeg"

            body.appendString("--\(boundary)\r\n")
            body.appendString("Content-Disposition: form-data; name=\"\(filename)\"; filename=\"image.jpg\"\r\n")
            // body.appendString("Content-Disposition: form-data; name=\"image\"; filename=\"image.jpg\"\r\n")
            body.appendString("Content-Type: \("image.jpeg")\r\n\r\n")


            body.append(imageDataKey[0]! as Data)
               body.appendString("\r\n")
           }
        else {

        }
        body.appendString("--\(boundary)--\r\n")

        return body
    }

ImageDataKey是的名字array包含多个图像作为NSData.


Try This

func createBodyWithParametersAndImages(parameters: [String: Any]?, filePathKey: [String], imageDataKey: [Data], boundary: String) -> NSData {
    let body = NSMutableData();

    if parameters != nil {
        for (key, value) in parameters! {
            body.appendString(string: "--\(boundary)\r\n")
            body.appendString(string: "Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n")
            body.appendString(string: "\(value)\r\n")
        }
    }

    for index in 0..<imageDataKey.count {
        let data = imageDataKey[index]

        let filename = "image.jpeg"
        let mimetype = "image/jpeg"

        body.appendString(string: "--\(boundary)\r\n")
        body.appendString(string: "Content-Disposition: form-data; name=\"\(filePathKey[index])\"; filename=\"\(filename)\"\r\n")
        body.appendString(string: "Content-Type: \(mimetype)\r\n\r\n")
        body.append(data)
        body.appendString(string: "\r\n")

    }


    body.appendString(string: "--\(boundary)--\r\n")

    return body
}

方法调用

let body = createBodyWithParametersAndImages(parameters: parameter, filePathKey: ["profile_image", "cover_image"], imageDataKey: [imageData1, ImageData2] as! [NSData], boundary: boundary) as Data
request.httpBody = body
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在多部分http post请求中发布图像数组 的相关文章

  • xcode 6 资产目录 iPhone 6

    这个问题还没有得到解答 使用资产目录时 特定于设备 非通用 选项为 1x 2x r 2x 3x 1x 是不必要的 因为它不是视网膜 2x 是 ip4 的最佳选择 分辨率为 640x960 r 2x 适合 ip5 分辨率为 640x1136
  • iOS SecItemCopyMatching RSA 公钥格式?

    我正在尝试从已生成的密钥对 两个SecKeyRefs 以便通过线路发送 我所需要的只是一个简单的 modulus exponent 对 它应该正好占用 131 个字节 模数为 128 指数为 3 但是 当我获取关键信息时NSData对象 我
  • 如何在 UITextView 中禁用放大功能

    我想摆脱 UITextView 中的放大和文本选择 但我需要电话号码 链接和地址检测器 我在用 void addGestureRecognizer UIGestureRecognizer gestureRecognizer if gestu
  • NSIndexpath.item 与 NSIndexpath.row

    有谁知道之间的区别NSIndexpath row and NSIndexpath item 具体来说 我在以下情况中使用哪一个 UITableViewCell tableView UITableView tableView cellForR
  • Swift 中的 @autoreleasepool 相当于什么?

    在 Swift 中 我注意到没有 autoreleasepool 构造 尽管 Swift 确实使用了 ARC 在 Swift 中管理自动释放池的正确方法是什么 或者它是否因某种原因被删除 语法如下 autoreleasepool code
  • SKScene和SKView的paused属性之间的区别

    我使用以下代码暂停 SKScene self paused YES 然而 根据这个answer https stackoverflow com a 21593852 2043580 by 安德烈 戈尔杰耶夫 https stackoverf
  • iPad Safari Web Inspector 在页面加载时崩溃

    我有一个用 WordPress 制作的以视频为中心的网站 当我们在 iPad 上测试网站时 我们将其连接到 Mac 笔记本电脑并打开 safari 开发人员工具来检查是否有任何错误等 我们的主页上一切正常 但当我们转到我们添加的任何视频帖子
  • “EXC_BAD_ACCESS”与“分段错误”。两者实际上相同吗?

    在我的前几个虚拟应用程序 用于学习时练习 中 我遇到了很多EXC BAD ACCESS 这以某种方式告诉我错误访问是 您正在触摸 访问一个不应该的对象 因为它尚未分配或释放 或者只是您无权访问它 查看此示例代码 该代码存在访问错误问题 因为
  • 设置UITextField的光标位置

    我查看了单点触控示例并尝试过 var range new NSRange selectionStart 1 NumberTextField SelectedTextRange IndexedRange GetRange range 但这会在
  • 解析迁移到 mLabs 和 Heroku 的错误

    我至少一年前将解析数据库迁移到 Mlabs 从那时起我就一直在开发该应用程序 解析仪表板表示我已成功迁移 Mlab 和 Parse 都收到了数据库的更新 然而 在过去一两周内 该应用程序不再经过登录页面 没有调整代码 这是服务器问题 以下是
  • WKWebView在后台,几个奇怪的断言

    我想找出iOS中当前浏览器的userAgent 所以在 Xcode 创建的默认项目中我添加了 import ViewController h import
  • 如何设置 UINavigationbar 的渐变颜色?

    我想设置UINavigationbar backgroundColor渐变颜色 我想通过颜色数组设置它以创建渐变 理想情况下 作为内部的可访问方法UINavigationBar将其颜色更改为此渐变 有什么建议么 除了手动设置图像作为导航栏的
  • 如何在 Swift 中使用 deltaTime 正确计算 1 秒

    我正在尝试计算经过的秒数deltaTime但我不知道该怎么做 因为我的deltaTime不断打印 0 0166 或 0 0167 这是我的代码 override func update currentTime CFTimeInterval
  • 如何让位置音频在 SceneKit 中工作?

    我在使位置音频在 SceneKit 中工作时遇到问题 从 Xcode 生成的 SceneKit 游戏模板开始 我将以下代码添加到handleTap 方法的末尾 let ship scnView scene rootNode childNod
  • 视频中的图像/文本叠加 swift

    我正在使用 swift 在视频中使用图像叠加来实现水印效果 我正在使用AVFoundation为此 但不知何故我没有成功 以下是我的覆盖图像 文本的代码 let path NSBundle mainBundle pathForResourc
  • 使用 UIWebView 显示 PDF 不起作用

    因此 我意识到有关使用 UIWebView 在应用程序 在 iPad 上 中显示 PDF 存在很多问题 我已经审查了我能找到的所有内容 但似乎找不到任何满意的东西 我想做的事情非常基本 所以我真的不知道为什么它不起作用 我需要做的就是在 U
  • 在后台继续下载

    我正在创建一个应用程序 其中我从服务器下载一些数据 在后台运行时 我希望连接继续运行 以便可以下载数据 我知道有方法应用程序委托 void applicationDidEnterBackground UIApplication applic
  • iOS 11 特定设置部分的 URL 方案停止工作

    我的应用程序使用 URL 方案将用户直接带到 设置 常规 关于 部分 以下 URL 在 10 3 x 中工作正常 应用程序首选项 根 常规 路径 关于 然而 这个 URL 方案在 iOS 11 GM 版本中不再有效 它仅启动 设置 应用程序
  • 构建 iOS 应用程序后退出代码 1 错误

    我正在尝试使用 RestKit 构建我的项目 当我构建它时 我收到以下错误 我尝试使用 Apple LLVM 3 0 和 LLVM GCC 4 2 进行编译 两者都产生相同的结果 任何人有任何想法是什么导致了这个问题 Ld Users Ji
  • Swift:UICollectionViewCell didSelectItemAtIndexPath 更改背景颜色

    我可以轻松更改单元格的背景颜色CellForItemAtIndexPath method func collectionView collectionView UICollectionView cellForItemAtIndexPath

随机推荐

  • Java 中的悬空线程

    Java 中的悬空线程会发生什么 就像我创建一个应用程序并且它生成多个线程一样 其中一个线程未完成 主程序在此之前完成 这条悬空的线会发生什么 它会无限地留在线程池中还是 JVM 将在阈值时间段后杀死线程 这取决于线程是否被标记为 守护进程
  • 在 char 中分配多个字符

    为什么这个程序给出输出 y include
  • 如何对结构体数组进行排序

    如何按项目名称的字母顺序对 oo 结构数组进行排序 oo struct Item Quill Ink Pen Pencil Cost 10 2 1 我尝试使用 sort 函数但它不起作用 谢谢 首先索引您的字段 在本例中oo Items它返
  • jQuery 泄漏问题已解决,但为什么呢?

    我正在开发一个包含大量 JavaScript 的大型企业应用程序 够了 我不可能遍历并修复过去 5 年开发中创建的所有小循环引用 在研究解决方案时 我遇到了这个小的 jQuery 黑客 补丁 http kossovsky net index
  • Java邮件超时和连接超时处理

    我正在使用 JavaMail 将电子邮件请求发送到 SMTP 服务器 我想同时设置 邮件 smtp 连接超时 and 邮件 smtp 超时 我的代码中的属性 以编程方式 我想在以下情况下捕获两者timeout and or 连接超时Java
  • 获取过时的 Composer 软件包列表

    我想获取过时的软件包列表 这些软件包将在我发布时更新composer update 作曲家有这样的功能吗 如果没有 有没有办法做到这一点 有或没有作曲家 Update Since Composer v1 1 2016 年 5 月 https
  • Django - postgres:如何在 JsonB 字段上创建索引

    我想允许在 ID 上的 JsonB 字段上建立索引 该 ID 深入到我们 Django 项目中的 json 数据的几个级别 JSONB 数据如下所示 foreign data some key val src data VEHICLE ti
  • 以编程方式卸载/删除 Firefox 扩展?

    有没有办法以编程方式卸载 Firefox 扩展 如果是 是否可以从其他扩展执行此脚本 使用以下方式获取附加组件的参考AddonManager getAddonByID https developer mozilla org en US Ad
  • 安装 RMySQL 时出错

    在我的 Linux 机器上安装 RMySQL 花了很长时间 但在更改环境变量并复制并粘贴 lib dll 文件后我能够安装它 然而 我现在正在尝试在我的64位window机器上安装RMySQL 但到目前为止两天还没有任何进展 运行命令 后它
  • Angular 6 材质:mat-tab-link 通过下划线选择

    我有一个mat tab nav bar我的网站的导航栏 但是mat tab link蓝色下划线条不会追随活动按钮 它只是停留在第一个按钮上 不会移动 尽管背景颜色发生变化 但按钮确实会变成活动状态 并且它们可以很好地路由到相应的页面 这是a
  • 如何根据子视图的高度设置父视图的高度

    我想写一个定制的家长View其中包括其中之一Text组件子视图或两个Text组件子视图 有没有办法设置父级View的高度基于Text视图的高度 class ParentView extends Component constructor p
  • 如何使用cargo部署特定的子项目:start using maven

    我有一个开发的应用程序 我只是想让构建过程变得简单 父级的 POM 文件如下所示
  • javax.mail.MessagingException:无法连接到 SMTP 主机:smtp.gmail.com,端口:25;

    我用来发送简单邮件的代码 import javax mail import javax mail internet import java util import java io import javax activation DataHa
  • 简单正则表达式的困难(匹配前缀/后缀)

    我正在尝试开发一个将在 C 程序中使用的正则表达式 我最初的正则表达式是 lt w 它成功匹配 foo 匹配但从输出中排除左括号和右括号 以生成简单的 foo 但是 如果我将正则表达式修改为 lt w 我尝试与 foo 匹配 但它无法匹配
  • 具有 malloc 和 free 的共享指针

    我在包含 c 和 cpp 的大型应用程序中工作 所有文件都保存为 cpp 扩展名 但代码是用 c 风格编写的 我的意思是它是定义结构而不是类通过 malloc 和 realloc 和 calloc 分配内存 最近他们安装了 boost 库所
  • 为什么这个 Lucene 查询是“contains”而不是“startsWith”?

    string q m Query query new QueryParser company new StandardAnalyzer Parse q 将导致查询成为 prefixQuery company a 尽管如此 我仍然会得到像 非
  • 如何向带有边框的 JPanel 添加填充

    我想添加填充到一些JPanels 我找到了这个答案 https stackoverflow com a 5328475 1590323 https stackoverflow com a 5328475 1590323 它对于没有边框的面板
  • Android 浏览器下载管理器

    我可以使用 Android 内置浏览器下载管理器来下载应用程序中的文件吗 对于音频文件 使用数据类型为 audio 的 Intent ACTION VIEW 打开远程文件 url 会导致浏览器开始播放 但我想强制下载指定文件 下载管理器不是
  • 区别:android:background 和 android:src? [复制]

    这个问题在这里已经有答案了 可能的重复 ImageView的src和background有什么区别 https stackoverflow com questions 5454491 what is the difference betwe
  • 如何在多部分http post请求中发布图像数组

    我想上传一组图像 我应该如何附加array to NSMutableData 这是我的代码 func createBodyWithParametersMulti parameters String String filePathKey St