gpt4 book ai didi

ios - 根据 URL 前缀执行不同的操作

转载 作者:行者123 更新时间:2023-11-30 12:29:13 25 4
gpt4 key购买 nike

这是我的情况:我正在我的 ios 应用程序上本地调用 file(在 Swift 中运行)。

如果文件是 jpg,则发生一个操作,如果文件是 mp4,则发生另一个操作。

为此,我正在考虑这段代码:

    let urlString = "\(posts[selectedIndexPath].link)"

let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]

let fileName = urlString as NSString;
let filePath="\(documentsPath)/\(fileName.lastPathComponent)";
let fileURL = NSURL.init(fileURLWithPath: filePath)
let request = NSURLRequest.init(url: fileURL as URL)


/* END DOWNLOAD + READ LOCALY */

if (fileURL.pathExtension?.hasPrefix("jpg"))! {
Swift.print("THIS IS A JPG")


}
else if (fileURL.pathExtension == "mp4") {

Swift.print("THIS IS A MP4")

}

这非常有效。

我现在需要做的不是在本地调用 eifle,而是通过 URL 调用它。

我通过以下方式从网址读取我的文件:

videoVRView.load(from: URL(string: "\(posts[selectedIndexPath].link)")

哪个作品。

但是从那以后,该操作不起作用,我尝试了以下操作:

 if ((from: URL(string: "\(posts[selectedIndexPath].link)").hasPrefix("jpg"))! {
Swift.print("THIS IS A JPG")


}
else if ((from: URL(string: "\(posts[selectedIndexPath].link)") == "mp4") {

Swift.print("THIS IS A MP4")

}

没有任何成功!!

有人知道这是如何实现的吗?

非常感谢=)

-- 编辑--

我想做的是恢复以下内容:

此时我通过以下方式在本地调用图像:

       imageVRView.load(UIImage(named: "\(documentsPath)/\(fileName.lastPathComponent)" ),
of: GVRPanoramaImageType.stereoOverUnder)

我尝试使用:

imageVRView.load(UIImage(named: "\(posts[selectedIndexPath].link)" ),
of: GVRPanoramaImageType.stereoOverUnder)

没有成功。 。 。 。我需要通过这种方法调用图像......有什么想法吗?非常感谢!

最佳答案

您可以使用 httpMethod HEAD 对 url header 发出 URL 请求来检查您的 url mime 类型,而无需先下载数据:

let link = "https://www.dropbox.com/s/sk46eyglvijlrec/horse.jpg?dl=1"
let url = URL(string: link)!

var request = URLRequest(url: url)
request.httpMethod = "HEAD"
URLSession.shared.dataTask(with: request) { _ , response , _ in
guard let response = response, (response as? HTTPURLResponse)?.statusCode == 200 else { return }
DispatchQueue.main.async() {
print("mimeType", response.mimeType ?? "nil") // image/jpeg
print("suggestedFilename:", response.suggestedFilename ?? "no suggestedFilename") // horse.jpg
print("expectedContentLength:", response.expectedContentLength ?? "nil") // 352614
print("textEncodingName:", response.textEncodingName ?? "nil")
print("url:", response.url ?? "nil") // "https://dl.dropboxusercontent.com/content_link/RNrhGtvroTLU1Gww7eQo1N1ePRiix68zsqZJ1xWPjKm3pmOUNQwNVntbPuFG4jZ8/file?dl=1"
}
}.resume()

关于ios - 根据 URL 前缀执行不同的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43803446/

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