R中使用readJPEG读取网络图片失败的调试求助
解决readJPEG无法读取HTTPS图片链接的问题
先验证链接有效性:把示例链接复制到浏览器地址栏打开,确认图片能正常显示。如果浏览器也打不开,说明链接失效或存在访问权限限制,需先解决链接本身的问题。
绕过直接读取HTTPS链接的限制,先下载到本地再读取:
# 定义图片链接 img_url <- "https://storage.googleapis.com/du-prd/books/images/9781668001226.jpg" # 创建临时文件存储图片 temp_file <- tempfile(fileext = ".jpg") # 下载图片,注意设置mode为"wb"处理二进制文件 download.file(img_url, temp_file, mode = "wb") # 加载jpeg包并读取图片 library(jpeg) img <- readJPEG(temp_file) # 读取完成后删除临时文件 file.remove(temp_file)
检查依赖和包版本:
- 确保
jpeg包是最新版本,执行install.packages("jpeg")更新。 - R的HTTPS访问依赖系统SSL组件,Windows用户可检查Rtools是否安装且配置正确;Linux/macOS用户确认openssl工具已安装。
- 确保
用curl包直接读取二进制数据:
如果下载到本地的方式不方便,也可以用curl包直接获取图片的二进制内容再读取:
library(jpeg) library(curl) # 获取图片二进制数据 img_binary <- curl_fetch_memory(img_url)$content # 从二进制数据读取图片 img <- readJPEG(img_binary)
内容的提问来源于stack exchange,提问作者Coder1990
相关产品推荐
相关产品推荐

