ios – 使用GCDWebServer将UIImage发送到LocalwebServer

我的应用程序使用GCDWebServer我通过使用AssetsLibrary从我的iPhone专辑中获取照片,并将它们存储在NSDocumentDirectory中.我只想访问此照片的网址,以便在网页中显示.

有我的代码

[_webServer addHandlerForMethod:@"POST"
                              path:@"/"
                      requestClass:[GCDWebServerURLEncodedFormRequest class]
                      processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) {

                          ALAsset *asset = [self.arrayPictures objectAtIndex:0];
                          ALAssetRepresentation *rep = [asset defaultRepresentation];
                          CGImageRef iref = [rep fullResolutionImage];
                          UIImage *thumbnail = [UIImage imageWithCGImage:iref];
                          Nsstring* path ;
                          if (thumbnail != nil)
                          {
                              NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
                              Nsstring *documentsDirectory = [paths objectAtIndex:0];
                               path =  [[Nsstring alloc] initWithString:[documentsDirectory stringByAppendingPathComponent:@"test.png"]];
                              NSData* data = UIImagePNGRepresentation(thumbnail);
                              [data writetoFile:path atomically:YES];
                          }

                          NSURL *url = [NSURL fileURLWithPath:path];
                          Nsstring* html = [Nsstring stringWithFormat:@"<html><body><img src=\"%@\" width=\"400\" height=\"500\"/></body></html>",url];
                          return [GCDWebServerDataResponse responseWithHTML:html];

                      }];

解决方法

对于DocumentDirectory路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,YES);
Nsstring *documentsDirectory = [paths objectAtIndex:0];
Nsstring *imagePath = [[Nsstring alloc] initWithString:[documentsDirectory stringByAppendingPathComponent:@"test.jpg"]];
NSURL *baseURL2 = [NSURL fileURLWithPath:documentsDirectory];
Nsstring* html2 = [Nsstring stringWithFormat:@"<html><body><img src=\"%@\" width=\"400\" height=\"500\"/></body></html>",imagePath];

[_webView loadHTMLString:html2 baseURL:baseURL2];

捆绑资源

Nsstring *path = [[NSBundle mainBundle] pathForResource:@"ahsan" ofType:@"jpg"]; // path to your image source.

NSURL *baseURL = [NSURL fileURLWithPath:path];

Nsstring* html = [Nsstring stringWithFormat:@"<html><body><img src=\"%@\" width=\"400\" height=\"500\"/></body></html>",path];

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...