通过 Node.js 从 iOS 应用程序将图像上传到服务器

2024-03-14

我正在开发一个 iOS 应用程序并且正在使用node.js用于服务器端脚本编写。我在从 iOS 应用程序将图像上传到服务器时遇到问题。如果我从网页表单上传图像,它工作正常。但如果从应用程序端上传,则无法正常工作。

 //test file
 h3 Pic Upload
 form(action='/pic_upload', method='post',enctype='multipart/form-data') 
  | user_pic:
  input(type='file', name='user_pic')
  input(type='submit')

 //app.js
 var userlogin =require('./routes/userlogin');
 app.post('/pic_upload', userlogin.picUpload);

//userlogin.js
//picUpload function
exports.picUpload = function(req, res) {
console.log(req.files);  // showing undefined, when called from IOS app
// pic upload script...
});

我尝试从应用程序端发送图像作为数据或文件参数,但它不起作用。如何从应用程序端发送文件参数以便我可以轻松地将图像上传到服务器?请提出解决该问题的方法。


这段代码适用于我的应用程序。尝试这个。

NSData *imgData = UIImageJPEGRepresentation(newImg, 0.2);

NSString *str = @"displayImage";

    NSString *urlString = @"http://some.url.com/post";

    // create request
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
    [request setHTTPShouldHandleCookies:NO];
    [request setTimeoutInterval:30];
    [request setURL:[NSURL URLWithString:urlString]];

    [request setHTTPMethod:@"POST"];

    NSString *boundary = [NSString stringWithFormat:@"---------------------------14737809831464368775746641449"];

    // set Content-Type in HTTP header
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
    [request setValue:contentType forHTTPHeaderField: @"Content-Type"];

    // post body
    NSMutableData *body = [NSMutableData data];

    // add params (all params are strings)
        [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"currentEventID\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"52344457901000006" dataUsingEncoding:NSUTF8StringEncoding]];


    // add image data
    if (imgData) {
        [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
       // [body appendData:[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"displayImage\"; filename=\"image.jpg\"\r\n"]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"image.jpg\"\r\n", str] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:imgData];
        [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    }

    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

    // setting the body of the post to the reqeust
    [request setHTTPBody:body];

    // set URL
    [request setURL:[NSURL URLWithString:urlString]];

    NSString *bodyStr = [[NSString alloc]initWithData:body encoding:NSUTF8StringEncoding];
    NSLog(@" %@",bodyStr);

    NSURLConnection *lot_Connection=[[NSURLConnection alloc]initWithRequest:request delegate:self];

    if(lot_Connection)
    {
        webdata = [[NSMutableData alloc] init];

    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Node.js 从 iOS 应用程序将图像上传到服务器 的相关文章

随机推荐

  • Git 命令仅重置索引和工作树而不是 HEAD

    这个问题是后续问题这个问题 https stackoverflow com questions 44513186 how do i edit a commit with interactive rebase as uncommited 它试
  • C 中 If-Else 和三元运算符之间的速度差异...?

    因此 在同事的建议下 我刚刚测试了三元运算符和等效的 If Else 块之间的速度差异 并且三元运算符生成的代码似乎比 If Else 快 1 到 2 倍 我的代码是 gettimeofday tv3 0 for i 0 i lt N i
  • 在 R 中建立复杂方程模型

    我有以下模型 我在 R 中将其编码为 function t C Ao s wd ph C Ao exp s t cos wd t ph 我想用这个方程来形成一个预测模型 但是 我不知道如何成功运行或绘制这个方程 I tried nls但遇到
  • phpmyadmin 中的 $GLOBALS['cfg'] 在哪里

    我在phpmyadmin下的phpinfo php文件中发现 有这样的配置设置 if GLOBALS cfg ShowPhpInfo phpinfo 我想知道在哪里可以设置 GLOBALS cfg ShowPhpInfo 配置 当然 我可以
  • angularjs 编译 ng-controller 和插值

    On the docs https docs angularjs org api ng function angular injector我看到了一个后来添加的编译 东西 的例子 var div div content label div
  • Angularjs 会话存储和范围

    有人知道为什么我的范围变量没有更新吗 这让我难以置信 sessionStorage 变量很好 但是当我在范围变量中定义它们时 我收到 未定义 错误 我已经修改了 scope apply 但显然范围已经被消化了 S请帮助新手 if sessi
  • Javascript 从变量渲染 jpeg 二进制数据

    如何渲染 Javascript 变量中包含的 JPEG PNG 文件数据 是否可以 需要什么 JavaScript 库 使用的浏览器是FF IE Thanks 现代浏览器支持内联图像 http dean edwards name weblo
  • Django/Heroku:致命:角色的连接太多

    所以我刚刚通过 Heroku 业余爱好 和 Postgres 试用版 推出了一个包含 Channels 2 0 Daphne 2 2 0 和 asgi 的网站 当我启动网站时 我点击了几个页面 然后收到 500 错误 我通过电子邮件收到的错
  • 无法在 Outlook 中正确显示 html 电子邮件签名

    我用 html 为自己创建了一个简单的电子邮件签名 他的代码是 div style width 50px height 50px margin right 10px img src logo png div div style height
  • C# 读取Excel工作表

    有人可以帮我在 C 应用程序中阅读简单的 Excel 工作表吗 我希望能够迭代每一行并在每一列上有一个句柄 谢谢 杆 这是我发现的最简单的方法 从 C 创建 Excel XLS 和 XLSX 文件 https stackoverflow c
  • 如何使用域名setCookie和getCookie

    当我保存 cookie 时 它 会与当前 URL 链接一起存储 当我获取仅搜索当前 URL 的 cookie 时也是如此 我需要使用我自己定义的 URL 链接保存和检索 cookie 你能帮助我吗 您无法读取不同域设置的cookie 如果可
  • 有人能在 android studio 中使用 chromecast android 示例吗?

    我在尝试让这些文件正确加载时经历了一段糟糕的时光 要么是支持框架失败 要么是转换 API 失败 有人有可重复的方法吗 github 示例显示 即将推出 用于加载到 android studio 中 我还没有转换其中一个测试项目 但我已经能够
  • 从 Django 服务器一次传输多个文件

    我正在运行 Django 服务器来为受保护网络中的另一台服务器提供文件 当用户请求一次访问多个文件时 我希望 Django 服务器将这些文件一次性传输给该用户 由于在浏览器中一次下载多个文件并不容易 因此需要以某种方式捆绑文件 我不希望我的
  • 如何将wrapper-div居中而不是内容居中

    我希望我的页面始终在浏览器中居中 而不影响内容 就像align text center 那样 我想将我的包装器 div 居中 我该怎么做 简化现有页面 div div Music Heaven div div div div div div
  • 使用领域驱动设计的node.js

    我正在将应用程序从 C 迁移到 Node js 我一边学习一边学习node js 所以我是一个node js 新手 我正在阅读 领域驱动设计的模式 原则和实践 一书 发现我当前的项目可以从中受益的很多重要信息 例如 书中有一个示例电子商务应
  • 数据绑定与 MVC 根本不兼容吗?

    数据绑定 http en wikipedia org wiki Data binding在视图和模型之间建立直接耦合 从而绕过控制器 从根本上讲 这打破了模型 视图控制器架构模式 我的想法正确吗 这是否会使数据绑定成为一件 坏事 Edit
  • awk 中的“非法主”是什么?

    awk 给我以下错误 awk illegal primary in regular expression lt gt lt at lt gt lt source line number 10 source file transpile aw
  • 如果我在 FFmpeg 中使用 av_read_frame 会丢失多个帧

    我有一个 3500 帧的 HEVC 序列 我正在编写一个解码器来读取它 逐帧读取并转储到 yuv 在我的 main 中 我有一个 for 循环 它调用解码器 3500 次 我假设在这个阶段 main 知道有多少帧 因此 对于每次调用解码器
  • SQL中计算一行中的Null列数

    我想知道是否可以在 SQL 中计算行的空列 我有一个具有可为空值的表 Customer 我只是想要一个查询 该查询返回特定行 特定客户 的空列数的 int 此方法为空列分配 1 或 0 并将它们全部加在一起 希望您没有太多可空列要在此处添加
  • 通过 Node.js 从 iOS 应用程序将图像上传到服务器

    我正在开发一个 iOS 应用程序并且正在使用node js用于服务器端脚本编写 我在从 iOS 应用程序将图像上传到服务器时遇到问题 如果我从网页表单上传图像 它工作正常 但如果从应用程序端上传 则无法正常工作 test file h3 P