无法使用 swift 中的 gcdweb server 在 web 浏览器上获取视频

共1个回答, 标签: ios swift iphone gcdwebserver

我创建了一个小的演示应用程序,应用程序使用 UIImagePickerController 从 iPhone 访问图像和视频。当我选择任何图像或视频时,应用程序会在文档目录中创建它的副本 (图像或视频)。使用 gcdweb server 在 iPhone 上创建 web 服务器,并需要公开所选图像或视频。但它不起作用。

这是示例代码,不确定我可能错在哪里。

类视图控制器: UIViewController 、 uiimagepickercontroller 委托、 uinavigioncontroller 委托 {

@ IBOutlet 弱 var btnselect: UIButton!
让 video opicker = UIImagePickerController ()

@ IBAction func btnSelect (_ sender: Any) {

如果 UIImagePickerController。isSourceTypeAvailable (photoLibrary) {
让 myPickerController = UIImagePickerController ()
MyPickerController 委派 = 自动;
源类型 =。光图书馆
MyPickerController。allowsEditing = false
自我呈现 (myPickerController,动画: true,完成: nil)
}

}

Func imagePickerControllerDidCancel (_ 机械手: UIImagePickerController) {
自我。解雇 (动画: 真实,完成: 无)
}

Func imagePickerController (_ 机械手: UIImagePickerController,didFinishPickingMediaWithInfo 信息: [UIImagePickerController.入 InfoKey: 任何]) {

//1.将视频保存到文档目录

让 video ourl = info [UIImagePickerController.InfoKey.mediaURL] as!NSURL
让视频数据 = NSData (内容: 视频作为 URL)
让 path 试试!FileManager.default.url (用于: filemanager.search 路径目录.doc umentDirectory,位于: FileManager.search 路径域掩码.userDomainMask,

让 newPath = path.appendingpath 组件 ("/mytestvideo.mp4")
做 {
尝试视频数据?。写入 (到: newPath)
} 抓 {
打印 (错误)
}


//2.使用 gcdweb server 在 iPhone 上创建 web 服务器

让 webServer = GCDWebServer ()
(ForMethod: “GET”,request: GCDWebServerRequest.self,process block: {request in
返回 GCDWebServerDataResponse (新路径)

})
Web 服务器。启动 (withPort: 8080,bonjourName: “GCD Web 服务器”)

}
}

我需要这个 GCD Web 服务器托管/访问这个选定的 (图像或视频)。

第1个答案

假设它可能是按照错误的路径

让 newPath = path.appendingpath 组件 ("/mytestvideo.mp4")

生产。./文档/mytestvideo.mp4

尝试从附加路径组件中删除反斜杠。

让 newPath = path.appendingpath 组件 ("mytestvideo.mp4")

此外,问题可能与 “文件://” 前缀相关的可能性很小。如果以前的建议无助于尝试删除前缀。

相关问题

资源调配配置文件不包括应用程序标识符和密钥链访问组权限 Xcode 10.2, Swift 5, 命令编译 Swift 失败, 同时使用发布方案构建程序 使用 Swift 4.2.1 编译的模块不能由 Swift 5.0 编译器导入 Xcode 11: Canvas 不显示 在订阅组之间移动现有订阅项 无法使用 swift 中的 gcdweb server 在 web 浏览器上获取视频 当按下屏幕的大小时,是否可以更改单元格的大小