【问题标题】:Why is my code failing to access the local machine URL?为什么我的代码无法访问本地机器 URL?
【发布时间】:2015-09-08 16:33:39
【问题描述】:

我有以下从 URL 下载图像的代码。当我提供 http 链接时,URL 可以正常工作并下载图像。但是当我给出我机器的文件路径时,它无法下载。以下代码是我给出本地路径的方式。请指教。

IMAGE_DIR = 'C:\\Users\\mayooranM\\Desktop\\'
PERSONS = [
('Jim Parsons', IMAGE_DIR + 'download.jpg')
]

 FACES = {name: api.detection.detect(url = url)
    for name, url in PERSONS}

for name, face in FACES.iteritems():
    print_result(name, face)

以下是我得到的错误:

APIError: code=432
url=http://api.faceplusplus.com/detection/detect?  url=C%3A%5CUsers%5CmayooranM%5CDesktop%5Cdownload.jpg&api_secret=kQiSg4egEYbdqzI i242mvZbycNFb2FjE&api_key=26b82781f37e7046629778fa5b24348b
{
    "error": "IMAGE_ERROR_FAILED_TO_DOWNLOAD", 
    "error_code": 1302
}

【问题讨论】:

  • 这可能与文件夹权限有关。这就是为什么 url 可以正常工作但本地文件夹会失败的原因。
  • 另一种可能性是该api是否适用于非http url?
  • 我在这里找到了程序faceplusplus.com/the-first-face-python-program我没有说它是否接受非http url :(
  • 你在运行网络服务器吗?
  • 不,我不是。这不需要网络服务器吧?我尝试将图像通过 wamp 获取图像的 HTTP url。那也无济于事。得到同样的错误

标签: python api python-2.7 url filepath


【解决方案1】:

当使用“url”参数时,Face++ 将尝试从该位置下载文件...因此,您传递的 URL 需要可公开访问(或至少 Face++ 服务器可以访问)。本地文件路径不可访问,因此每次都会失败。

如果图像文件无法公开,则必须使用“img”参数将图像 POST 到 Face++。

【讨论】:

    【解决方案2】:

    好吧,它可能支持file:// URI 语法,这意味着您可能应该使用正斜杠和file:// 前缀,但更可能的问题是,从根本上来说,访问本地文件的库在附近没有执行与通过网络访问文件的操作相同。

    当您访问本地文件时,您根本没有“下载”任何内容;你只是在读一个文件。许多为支持远程 URI 而编写的库并不是为文件访问而编写的,因为它们假定您在使用该库之前就已经确定它是本地文件还是网络可访问的文件。

    【讨论】:

      猜你喜欢
      • 2016-09-27
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      相关资源
      最近更新 更多