這是我的情況:我在我的ios應用程序(在Swift中運行)本地調用文件。URL前綴的不同動作
如果文件是JPG格式,則會發生一個動作,如果該文件是mp4,則會發生另一個動作。
對於這個i'musing驗證碼:
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)")
哪些工作:
我從URL通過讀我的文件。
但是從,動作不工作,我已經嘗試以下操作:
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")
}
沒有任何成功!
有人知道這是如何實現的嗎?
非常感謝=)
- 編輯 -
什麼即時試圖做的是個efollowing恢復:
在日emoment我撥打本地圖像通過:
imageVRView.load(UIImage(named: "\(documentsPath)/\(fileName.lastPathComponent)"),
of: GVRPanoramaImageType.stereoOverUnder)
我試着改用:
imageVRView.load(UIImage(named: "\(posts[selectedIndexPath].link)"),
of: GVRPanoramaImageType.stereoOverUnder)
沒有成功。 。 。 。我需要通過這種方法調用圖像...任何想法? 非常感謝!
'hasPrefix'測試像'jpgFile'和模式'mp4Stream'。你需要尋找後綴,而不是前綴。 ['hasSuffix'](https://developer.apple.com/reference/swift/string/1541149-hassuffix)。 – dasblinkenlight
顯示'posts [selectedIndexPath] .link'的值。 – shallowThought
你應該檢查本地資源的url UTI類型或mimeType,如果不是local,則從url響應中檢查mimeType.hasPrefix(「image」)。 –