我们知道我们可以从文件的扩展名中获取文件的MIME TYPE,但它并不完全正确.例如,我们更改了文件的扩展名,我们将得到错误的mime类型.而且我们也知道通过C#中的文件签名获取mime类型的方式,(使用urlmon.dll 使用.NET,如何根据文件签名而不是扩展名找到文件的mime类型,我的问题是我们怎样才能在IOS中获得精确的mime类型,无论文件的扩展名被某人更改,我们都可以获得正确的mime类型.
谢谢你的关注〜!
确定文件是否为可播放视频的最快方法是什么?我不关心它是否腐败,而只是它是否是一个应该可以在iPad上播放的哑剧类型.
我已经玩过NSURL按照另一个问题的建议推送文件但是每个文件可能需要> 1秒,这太慢了.
我目前正在查看文件扩展名,但更确切地说有一些更确定的东西.
我很乐意在应用程序内部使用UTI,但我还没有找到任何暴露的方法从这个方向来.如果有人知道如何在3.2的文件的UTI上获得可行的方法.
我的Xcode项目中有一个XML文件,我想先把它保存到磁盘上,其次我怎么知道我是否成功保存了它?这是正确的方法吗?使用模拟器我导航到iOS 11中的新"文件"文件夹,我看不到它,但我不确定它是否应该存在?
guard let path = Bundle.main.url(forResource: "sample", withExtension: "xml") else {print("NO URL"); return}
let sample = try? Data(contentsOf: path)
print("sample XML = \(String(describing: sample?.debugDescription))")
//put xml file on the device
let filename = getDocumentsDirectory().appendingPathComponent("sample.xml")
do {
try sample?.write(to: filename)
} catch {
print("ERROR")
}
Run Code Online (Sandbox Code Playgroud)
更新以包括我检查文件是否存在:
//check if file exists
let checkPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let url = URL(fileURLWithPath: checkPath)
let filePath = url.appendingPathComponent("sample.xml").path
let fileManager = FileManager.default
if fileManager.fileExists(atPath: filePath) {
print("FILE AVAILABLE")
} else { …Run Code Online (Sandbox Code Playgroud) 我正在构建一个应用程序,允许您将图像从库中上传到服务器.该服务器本质上用作图像存储库.因此,绝对有必要将其存储为原始图像格式:JPG,PNG或GIF.IE如果PNG图像具有透明度,则要保留该图像,则不能简单地将其转换为JPG.
我使用UIImagePickerControllerReferenceURL来获取图像格式:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let selectedImage = info[UIImagePickerControllerEditedImage] as! UIImage
let assetPath = info[UIImagePickerControllerReferenceURL] as! NSURL
if (assetPath.absoluteString?.hasSuffix("JPG"))! {
print("JPG")
}
else if (assetPath.absoluteString?.hasSuffix("PNG"))! {
print("PNG")
}
else if (assetPath.absoluteString?.hasSuffix("GIF"))! {
print("GIF")
}
else {
print("Unknown")
}
self.dismiss(animated: true, completion: nil)
self.showImageFieldModal(selectedImage: selectedImage)
}
Run Code Online (Sandbox Code Playgroud)
但UIImagePickerControllerReferenceURL已在iOS11中弃用.它建议使用UIImagePickerControllerPHAsset,但这不是URL.我不确定我应该用它作为PHAsset对象...