You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PostGIS的GeoJSON字符串存入元组用于requests.post的files参数?

解决requests.post的files参数传递GeoJSON字符串的问题

直接构造符合要求的元组结构就能避免字符串被拆分,关键是要明确files参数中每个条目正确的元组格式:

  • 每个文件条目需使用三元组嵌套结构:(接口接收的字段名, (自定义文件名, GeoJSON字符串内容, 内容类型))
  • 核心是把GeoJSON字符串放在子元组中,而非直接作为外层元组元素,这样requests会按multipart/form-data规范正确封装内容,不会因字符串内的引号、逗号拆分数据

代码示例

假设你的GeoJSON数据是字符串geojson_str,接口接收的文件字段名为geojson_file,代码如下:

import requests

# 从PostGIS获取的GeoJSON字符串
geojson_str = '{"type": "FeatureCollection", "features": [...]}}'

# 构造符合要求的files参数
myfiles = {
    'geojson_file': ('data.geojson', geojson_str, 'application/geo+json')
}

# 发送POST请求
response = requests.post(url, files=myfiles)

关键说明

如果直接将GeoJSON字符串作为元组元素传递,requests会误将其解析为文件路径或拆分的参数;而通过子元组指定文件名、内容、类型后,requests会完整保留原始字符串格式,正确完成multipart数据的封装。

内容的提问来源于stack exchange,提问作者GIStrees

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 00:42:03