菜鸟教程小白 发表于 2022-12-12 22:13:14

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


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

<p>Javascript:</p>

<pre><code>&lt;script&gt;
function newEl(tag){return document.createElement(tag);}

window.addEventListener(&#39;load&#39;, onDocLoaded, false);

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

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


    for (var i=7;i&lt;imgs.length;i++)
    {
    document.write(&#34;&lt;p id=&#39;&#34;+i+&#34;&#39;&gt;&#34;+imgs.src+&#34;&lt;p/&gt;&#34;);
    }
}

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

<p>我在这里所做的是获取一个页面 (<em>www.foo.com/urls.html</em>),其中包含来自 <em> <a href="http://foo.com/bar.html" rel="noreferrer noopener nofollow">http://foo.com/bar.html</a> 的所有图像 url </em> 通过 javascript 看起来像这样:</p>

<p>HTML:</p>

<pre><code>&lt;p id=&#34;1&#34;&gt;http://www.foo.com/x.jpg&lt;/p&gt;
&lt;p id=&#34;2&#34;&gt;http://www.foo.com/y.jpg&lt;/p&gt;
&lt;p id=&#34;3&#34;&gt;http://www.foo.com/z.jpg&lt;/p&gt;
...
</code></pre>

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

<p>还有比这更好的方法吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您应该将图像 url 存储到您的数据库中。</p>

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

<p><strong>PHP</strong></p>

<pre><code>&lt;?php
$mysqli = new mysqli(&#34;example.com&#34;, &#34;user&#34;, &#34;password&#34;, &#34;database&#34;);
if ($mysqli-&gt;connect_errno) {
    echo &#34;Failed to connect to MySQL: (&#34; . $mysqli-&gt;connect_errno . &#34;) &#34;;
}

$res = $mysqli-&gt;query(&#34;SELECT image_name FROM images&#34;);


$data=array();
while ($row = $res-&gt;fetch_assoc()) {
    $data[&#39;images&#39;][] = $row[&#39;image_name&#39;];
}

echo json_encode($data);
?&gt;
</code></pre>

<p>然后从您的 <code>iOS</code> 应用发出 <code>JSON</code> 数据 <code>PHP</code> 脚本的请求。</p>

<p><strong>JSON:</strong></p>

<pre><code>{
    &#34;images&#34;: [
      &#34;http: //xxxxxxxxx.co.uk/video%20images/ONYX%20sofa.jpg&#34;,
      &#34;http: //xxxxxxxxx.co.uk/video%20images/aaron%20duran.jpg&#34;,
      &#34;http: //xxxxxxxxx.co.uk/video%20images/littledragon.jpg&#34;,
      &#34;http: //xxxxxxxxx.co.uk/video%20images/cantalivering%20house.jpg&#34;
    ]
}
</code></pre>

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

<p><strong>IOS</strong></p>

<pre><code>NSURL *url = ;
//Creating the data object that will hold the content of the URL
NSData *jsonData = ;
NSError *error = nil;
//parse the JSON
NSDictionary *result = [NSJSONSerialization JSONObjectWithData:jsonData
                              options:NSJSONReadingMutableContainers error:&amp;error];
//Here is the array
NSArray *images = result[@&#34;images&#34;];
NSLog(&#34;images =%@&#34;, images);
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于javascript - 将图像从 URL 获取到 Objective-C 中的数组中,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23495676/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23495676/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: javascript - 将图像从 URL 获取到 Objective-C 中的数组中