gpt4 book ai didi

html - swift 。显示来自网站的图像 (xxx.?action=stream)

转载 作者:可可西里 更新时间:2023-11-01 02:17:01 25 4
gpt4 key购买 nike

我想显示来自网站的图像。问题是图像在“xxx.?action=stream”

我试过:

extension UIImageView {
public func imageFromUrl(urlString: String) {
if let url = NSURL(string: urlString)
{
let request = NSURLRequest(URL: url)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {
(response: NSURLResponse?, data: NSData?, error: NSError?) -> Void in
self.image = UIImage(data: data!)
}
}
}

这适用于具有文件扩展名的图像,但不适用于我的图像。

网站html代码:

<html>
<body style="margin: 0px">
<img style="-webkit-user-select: none; display: block; margin: auto; cursor: zoom-in;" src="http://1.1.1.181:8085/?action=stream" width="627" height="353">
</body>
</html>

最佳答案

首先,安装Fuzi - 或任何其他有能力的第三方,我只是使用这个作为示例 - 并导入它:

import Fuzi

使用例如 NSURLSession 下载网页本身作为数据。

NSURLSession.sharedSession().dataTaskWithURL(webpageURL, completionHandler: { (data, response, error) in
if let error = error {
print(error.debugDescription)
} else {
if let data = data {
// next code takes place here
}
}
}).resume()

将数据解码为字符串,然后创建 HTMLDocument 的实例:

do {
if let html = String(data: data, encoding: NSUTF8StringEncoding) {
let doc = try HTMLDocument(string: html)
// next code takes place here
}
} catch let error as NSError {
print(error.debugDescription)
}

诀窍是检查您的 HTML 并了解您想要定位的路径。

在您的示例中,您需要找到 img 标记,然后获取其 src 值。

查找标签:

let path = doc.css("img")

获取其src属性:

if let firstObject = path[0] {
let link = firstObject["src"]
print(link)
}

完整示例:

NSURLSession.sharedSession().dataTaskWithURL(webpageURL, completionHandler: { (data, response, error) in
if let error = error {
print(error.debugDescription)
} else {
if let data = data {
do {
if let html = String(data: data, encoding: NSUTF8StringEncoding) {
let doc = try HTMLDocument(string: html)
let path = doc.css("img")
if let firstObject = path[0],
link = firstObject["src"] {
print(link)
}
}
} catch let error as NSError {
print(error.debugDescription)
}
}
}
}).resume()

使用您的示例 HTML,打印:

http://1.1.1.181:8085/?action=stream

现在您已获得图像链接,您可以下载图像本身。

关于html - swift 。显示来自网站的图像 (xxx.?action=stream),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36966047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com