从 imagePicker 获取本地文件路径(iOS,目标 C)



我正在努力从imagePicker获取文件路径并将其发送到服务器。

这是尝试通过本地路径客户端

NSData *webData = UIImagePNGRepresentation(info[UIImagePickerControllerOriginalImage]);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *localFilePath = [documentsDirectory stringByAppendingPathComponent:@"test.png"];
[webData writeToFile:localFilePath atomically:YES];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager POST:url.absoluteString
   parameters:@{@"path": localFilePath}
     progress:nil
      success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
... //results always in error

这是接收路径键(在 JavaScript 中(截取的后端代码:

var fs = require('file-system');
file {
 data: fs.readFileSync(path),
}

但是,我总是收到这样的错误:

错误:ENOENT:没有这样的文件或目录,打开"/库/开发人员/核心模拟器/设备...

我的JS代码有问题吗?或者我应该使用什么其他方法来获取文件路径?如果有人能在这里帮助我,我会很高兴。

附言其他流行的现有StackOverflow关于获取文件路径的答案会引起相同的错误代码。

这是不可能的。您需要创建该图像的数据,并使用多部分将其上传到服务器。我希望这个链接对你有用:

如何从本地网址获取UIImage并将图像发布到服务器?

要么我误解了这个问题,要么你试图做不可能的事情。

服务器无法访问设备上的路径(在本例中为模拟器(,因为它仅存在于设备上。

如果要传递实际图像,则需要在请求中发送数据本身,不能让服务器获取其路径并通过Internet到达设备以获取它。

这个问题的公认答案是如何将图像的数据附加到AFNetworking请求的示例。不幸的是,我对服务器的了解不够多,无法在那里提供太多帮助,但我希望您能够以与从请求中获取路径相同的方式获取它,它只是原始图像数据而不是文件路径。

相关内容

  • 没有找到相关文章

最新更新