sia*_*sia 7 iphone ios swift gcdwebserver
我创建了一个小型演示应用程序,其中该应用程序使用UIImagePickerController从iPhone访问图像和视频。当我选择任何图像或视频时,应用程序会在文档目录中创建其副本(图像或视频)。并使用GCDWebserver在iPhone上创建Web服务器,并需要公开所选的图像或视频。但这行不通。
这是示例代码,不确定我哪里可能出错。
class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var btnselect: UIButton!
let videoPicker = UIImagePickerController()
@IBAction func btnSelect(_ sender: Any) {
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary){
let myPickerController = UIImagePickerController()
myPickerController.delegate = self;
myPickerController.sourceType = .photoLibrary
myPickerController.allowsEditing = false
self.present(myPickerController, animated: true, completion: nil)
}
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
self.dismiss(animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
// 1. saving video to documents directory
let videoURL = info[UIImagePickerController.InfoKey.mediaURL] as! NSURL
let videoData = NSData(contentsOf: videoURL as URL)
let path = try! FileManager.default.url(for: FileManager.SearchPathDirectory.documentDirectory, in: FileManager.SearchPathDomainMask.userDomainMask, appropriateFor: nil, create: false)
let newPath = path.appendingPathComponent("/myTestVideo.mp4")
do {
try videoData?.write(to: newPath)
} catch {
print(error)
}
// 2. Create web server on iPhone using GCDWebServer
let webServer = GCDWebServer()
webServer.addDefaultHandler(forMethod: "GET", request: GCDWebServerRequest.self, processBlock: {request in
return GCDWebServerDataResponse(newPath)
})
webServer.start(withPort: 8080, bonjourName: "GCD Web Server")
}
}
Run Code Online (Sandbox Code Playgroud)
我需要此GCD Web服务器托管/访问此选定的(图像或视频)。
小智 0
假设它可能是按照错误的路径
let newPath = path.appendingPathComponent("/myTestVideo.mp4")
生产..../Documents//myTestVideo.mp4
尝试从附加路径组件中删除反斜杠。
let newPath = path.appendingPathComponent("myTestVideo.mp4")
此外,该问题也有可能与“file://”前缀有关。如果之前的建议没有帮助,请尝试删除前缀。
| 归档时间: |
|
| 查看次数: |
192 次 |
| 最近记录: |