我正试图找到一种方法来保存我从POST请求中获得的图像,到目前为止,我找到的所有解决方案都没有效果,例如,这个。
上述解决方案的问题是,我只是得到了一个超时错误。
我现在试着稍微改变一下代码,但仍然不起作用,你能帮我吗?
def on_post(self, req, resp):
"""Handles Login POST requests"""
json_data = json.loads(req.bounded_stream.read().decode('utf8'))
base64encoded_image = json_data['image_data']
with open('pic.png', "wb") as fh:
fh.write(b64decode(base64encoded_image))
resp.status = falcon.HTTP_203
resp.body = json.dumps({'status': 1, 'message': 'success'})
我得到的错误是"json.decoder.JSONDecodeError:期望值:第1行第1列(char 0)"
在你的猎鹰后端
试试falcon multipart
pip3 install falcon-multipart
然后将其作为中间件。
from falcon_multipart.middleware import MultipartMiddleware
api = falcon.API(middleware=[MultipartMiddleware()])
这将解析任何多部分/表单数据
传入请求,并将密钥放入req_参数
,包括文件,因此可以像其他参数一样获取字段。
# your image directory
refimages_path = "/my-img-dir"
# get incoming file
incoming_file = req.get_param("file")
# create imgid
imgId = str(int(datetime.datetime.now().timestamp() * 1000))
# build filename
filename = imgId + "." + incoming_file.filename.split(".")[-1]
# create a file path
file_path = refimages_path + "/" + filename
# write to a temporary file to prevent incomplete files from being used
temp_file_path = file_path + "~"
with open(temp_file_path, "wb") as f:
f.write(incoming_file.file.read())
# file has been fully saved to disk move it into place
os.rename(temp_file_path, file_path)
在你的前端
发送内容类型:多部分/表单数据
在请求头中。也不要忘记提供
边界
,因为按照RFC2046中的规定:
多部分实体的内容类型字段需要一个参数“边界”。然后,边界分隔符行被定义为一行
,完全由两个连字符(“-”,十进制值45)组成
,后跟内容类型标题字段中的边界参数值、可选线性空格和终止的CRLF。
我尝试做的是从同一个站点发布数据并从它创建一个新的订单(当提交按钮被点击时)。我没有任何信息在我的请求。身体,我怀疑是在我的ejs出了问题,任何反馈是非常感谢的。 我的ejs文件: 和我的js文件:
问题内容: 我不想使用文件,但是只有django才需要发出POST请求。 就像发送请求一样。 问题答案: 结合使用urllib2和urllib中的方法即可解决问题。这是我使用这两种方法发布数据的方式: 是用于打开URL的方法。 将参数转换为百分比编码的字符串。
我阅读了一些将jsons发布到服务器的示例。 有人说: OkHttp是Java提供的HttpUrlConnection接口的实现。它提供了一个用于写入内容的输入流,而不知道(或关心)该内容是什么格式。 现在我想用name和password参数对URL做一个普通的post。 这意味着我需要自己将名称和值对编码成流?
问题内容: 我想知道如何使此代码支持数组?目前,数组似乎只发送第一个值。 这是我的代码: 这就是在api上收到的 中的第二个值发生了什么? 问题答案: 您只是错误地创建了数组。您可以使用http_build_query: 因此,您可以使用的整个代码为:
我如何解析JSON请求之类的东西? 示例代码: 带有_名称的位置_为无
问题内容: 我刚刚使用Python图像库(PIL)进行了一些图像处理,这是我之前发现的用于执行图像的傅立叶变换的文章,但是我无法使用save函数。整个代码运行良好,但不会保存生成的图像: 我得到的错误如下: 如何使用Pythons PIL保存图像? 问题答案: 已解决有关文件扩展名的错误,您可以使用(不带点)或将输出名称与扩展名一起传递。现在要处理该错误,您需要在频域中适当地修改数据以将其保存为整