• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

javascript - 将图像从 URL 获取到 Objective-C 中的数组中

[复制链接]
菜鸟教程小白 发表于 2022-12-12 22:13:14 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我想从一个页面获取一个包含所有图片的 url 的数组。

Javascript:

<script>
function newEl(tag){return document.createElement(tag);}

window.addEventListener('load', onDocLoaded, false);

function onDocLoaded()
{
    myAjaxRequest("http://foo.com/bar.html", onHtmlLoaded);
}

function onHtmlLoaded(ajax)
{
    var div = newEl('div');
    div.innerHTML = ajax.responseText;
    var imgs = div.getElementsByTagName('img');


    for (var i=7;i<imgs.length;i++)
    { 
    document.write("<p id='"+i+"'>"+imgs[i].src+"<p/>");
    }
}

function myAjaxRequest(url, callback)
{
    var ajax = new XMLHttpRequest();
    ajax.onreadystatechange = function()
    {
        if (this.readyState==4 && this.status==200)
            callback(this);
    }
    ajax.onerror = function()
    {
        console.log("AJAX request failed to: " + url);
    }
    ajax.open("GET", url, true);
    ajax.send();
}
</script>

我在这里所做的是获取一个页面 (www.foo.com/urls.html),其中包含来自 http://foo.com/bar.html 的所有图像 url 通过 javascript 看起来像这样:

HTML:

<p id="1">http://www.foo.com/x.jpg</p>
<p id="2">http://www.foo.com/y.jpg</p>
<p id="3">http://www.foo.com/z.jpg</p>
...

然后我希望能够在 objective-c 中创建一个包含所有 url 的数组,这可能吗?

还有比这更好的方法吗?



Best Answer-推荐答案


您应该将图像 url 存储到您的数据库中。

编写一个脚本来获取这些图像,然后放入一个 json 数组中

PHP

<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") ";
}

$res = $mysqli->query("SELECT image_name FROM images");


$data=array();
while ($row = $res->fetch_assoc()) {
    $data['images'][] = $row['image_name']; 
}

echo json_encode($data);
?>

然后从您的 iOS 应用发出 JSON 数据 PHP 脚本的请求。

JSON:

{
    "images": [
        "http: //xxxxxxxxx.co.uk/video%20images/ONYX%20sofa.jpg",
        "http: //xxxxxxxxx.co.uk/video%20images/aaron%20duran.jpg",
        "http: //xxxxxxxxx.co.uk/video%20images/littledragon.jpg",
        "http: //xxxxxxxxx.co.uk/video%20images/cantalivering%20house.jpg"
    ]
}

最后在您的应用程序中将其存储到一个数组中。

IOS

NSURL *url = [NSURL URLWithString"http://www.url.com/get_images.php"];
//Creating the data object that will hold the content of the URL
NSData *jsonData = [NSData dataWithContentsOfURL:url];
NSError *error = nil;
//parse the JSON
NSDictionary *result = [NSJSONSerialization JSONObjectWithData:jsonData 
                              options:NSJSONReadingMutableContainers error:&error];
//Here is the array
NSArray *images = result[@"images"];
NSLog("images =%@", images);

关于javascript - 将图像从 URL 获取到 Objective-C 中的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23495676/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap