首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >显示上载图像的历史记录

显示上载图像的历史记录
EN

Stack Overflow用户
提问于 2019-04-11 22:48:53
回答 1查看 37关注 0票数 0

所以我有一个在Objective-C中上传多张带有HTTP 'POST‘请求的照片的应用程序,它工作得很好。但我试图做的是在一个表格中显示从特定设备上传的所有图像,就像“上传历史记录”部分一样。我想知道如何获取设备发布的每个图像的图像地址,如果将图像地址保存到NSDictionary或SQLite表中会更好,以及如何将所有图像显示到表中。这是一个使用单个参数上传图像的示例,但是如何让图像URL返回给我并保存它,以便我可以将所有上传的图像显示到一个表中?

代码语言:javascript
复制
 [request setURL:[NSURL URLWithString:urlString]];
        [request setHTTPMethod:@"POST"];
        [request addValue:contentType forHTTPHeaderField:@"Content-Type"];

        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: attachment; name=\"uploaded_file\"; filename=\"%@.png\"\r\n", dateString] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[NSData dataWithData:imagePNG]];
        [body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];


        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"ticket\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[ticketNumber.text dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithString:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];


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


        [request setHTTPBody:body];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-12 04:03:50

成功上传这些图像后,服务器应返回两项内容

  1. Http状态代码201:这意味着已经在服务器上创建了一个资源。
  2. 数组中新创建的资源的路径。

因此,图像上传服务的JSON响应可能如下所示

代码语言:javascript
复制
    {
  "imagePath": [
    "https://yourServer/img/img1.png"
    "https://yourServer/img/img2.png",
    "https://yourServer/img/img3.png"
  ],
}

您可以将这些路径存储在sqlite数据库中,并在加载视图时检索这些URL,但这种方法的问题是您必须更新,即如果有人更新服务器上的任何图像,那么您的数据库也需要与之同步。

不那么痛苦的方法是调用一个新服务,它返回存储在服务器文件夹中的图像URL列表,这样你就可以使用SDWebImage或任何其他你喜欢的pod在表视图中延迟加载它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55635401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档