转换Ios相册路径url与文档目录相同文件路径
根据我的要求,想要为我的GCDWebUploader访问iOS设备照片应用程序文件url(不是文件数据)。我想要我的Web服务器的资产库网址。转换Ios相册路径url与文档目录相同文件路径
NSString* documentsPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
_webServer = [[GCDWebUploader alloc] initWithUploadDirectory: documentsPath];
// this is working and document directory files shown on browser.
_webServer = [[GCDWebUploader alloc] initWithUploadDirectory:assetsUrl]; // this is not working.Nothing shown on browser. //assetsUrl= assets library url for file from photos app
_webServer.delegate = self;
_webServer.allowHiddenItems = YES;
[_webServer start];
我的web服务器显示的所有照片应用程序的图片和视频在PC浏览如果文档directory.this功能已经在使用GCDWebUploader完成。但我无法找到资产网址的行为像文件路径。
我不想将照片应用程序文件复制到文档目录和use.but直接从资产库访问。
我希望资产url的工作与文档目录filepath相同。请帮助我。
资产URL看起来像这样:
assets-library://asset/asset.JPG?id=CD12228F-0E99-4ABD-999D-6A76F54024E7&ext=JPG
这是一个内部URL来ALAssetsLibrary
这意味着在此语境之外什么都没有。你不能指望把这个URL传递给GCDWebServer,并期望服务器神奇地做些什么。
此外,根据定义,GCDWebServer只能为HTTP
方案提供URL,主机名与您的iPhone/iPad网络名称匹配,并且与您已实施处理程序的路径相匹配。
举例来说,如果你已经实现了GET
处理程序路径/photos/index.html
,然后连接到您的iPhone/iPad上使用Web浏览器在http://my-device.local/photos/index.html
将拜会GCDWebServer,然后可以返回一些内容(如一个HTML网页相应的处理程序页面或图像文件)。
然而,从您的网络浏览器连接到assets-library://asset/asset.JPG
并不意味着什么,并会失败。
如果您在该路径的GCDWebServer中没有GET
处理程序,则连接到http://my-device.local/asset.JPG?id=CD12228F-0E99-4ABD-999D-6A76F54024E7&ext=JPG
也将失败。
所以简而言之,以服务使用GCDWebServer从ALAssetsLibrary
的照片,你能做到这样:
- 实现的默认处理程序来捕获所有
GET
请求 - 实现一个处理程序
GET
请求/index.html
(您必须将其添加到默认处理程序后的GCDWebServer实例)
在实现/index.html
处理程序,则返回一个HTML网页,其中列出了来自ALAssetsLibrary
的照片资产的URL,其中每个网址都具有相关URL链接,如<a href="/asset.JPG?id=CD12228F-0E99-4ABD-999D-6A76F54024E7&ext=JPG">My photo link</a>
(资产URL的路径部分)。
在执行默认处理程序时,您可以检索GCDWebServerRequest
的路径,前置assets-library://asset
,然后返回原始资产URL:assets-library://asset/asset.JPG?id=CD12228F-0E99-4ABD-999D-6A76F54024E7&ext=JPG
。使用此URL,您最终可以检索资产数据(即JPEG图像),并使用GCDWebServerDataResponse
(不要忘记将MIME类型设置为image/jpeg
)将其返回。
谢谢,波尔你的答案。我会尽力实现这一点,如果这解决了我的问题,那么我会接受这个答案。感谢你的宝贵时间。 – Jashu
我已经上传图像在文档目录中,但图像不显示在浏览器中。你能帮我在浏览器中显示图像吗? – Bhumi