Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将图像附件添加到现有文档_Python_Image_Http_Flask_Couchdb - Fatal编程技术网

Python 将图像附件添加到现有文档

Python 将图像附件添加到现有文档,python,image,http,flask,couchdb,Python,Image,Http,Flask,Couchdb,我有一个带有图像附件的文档。我希望向文档中添加另一个图像,这样文档将包含多个附件,即图像,并且以前存在于现有文档中的图像附件不会丢失 我可以将图像上载到现有文档,但它会删除已经存在的图像。我不要这个。我希望添加新图像并保留旧图像,我希望能够拥有一个包含多个图像的文档。我知道我已经硬编码了rev_id,但它是用于测试的 @app.route('/process', methods=['POST']) def process(): if request.method == 'POST':

我有一个带有图像附件的文档。我希望向文档中添加另一个图像,这样文档将包含多个附件,即图像,并且以前存在于现有文档中的图像附件不会丢失

我可以将图像上载到现有文档,但它会删除已经存在的图像。我不要这个。我希望添加新图像并保留旧图像,我希望能够拥有一个包含多个图像的文档。我知道我已经硬编码了rev_id,但它是用于测试的

@app.route('/process', methods=['POST'])
def process():
if request.method == 'POST':

    memeName = request.form['memeName']
    memeBaseName = request.form['memeBaseName']
    file = request.form['data']

    if file:
        print("file: ", file)
        memeName += ".png"
        print("memeName: ", memeName)
        print("memeBaseName: ", memeBaseName)

        atachmentJson = {
            "_id": memeBaseName,
            "_rev": "5-60b616d491050e36302797eb126dcfa8",
            "_attachments":
                {
                    memeName:
                        {
                            "content_type": "image/png",
                            "data": file
                        }
                }
        }
        uploadRequest = requests.post('http://127.0.0.1:5984/' + database + '/', data=None, json=atachmentJson)

        print("uploadRequest: ", uploadRequest.status_code)

        if uploadRequest.status_code == requests.codes.ok:
            return jsonify({'name': "Meme Uploaded"})

        elif uploadRequest.status_code == requests.codes.created:
            return jsonify({'name': "Meme Uploaded"})

        elif uploadRequest.status_code == requests.codes.accepted:
            return jsonify({'name': "Meme Uploaded"})

        else:
            return jsonify({'error': "Failed to Upload Meme. Sorry :("})

您的代码与您的描述不匹配。在代码中,没有任何地方可以向现有文档添加附件——您只是在创建一个新文档。你能粘贴导致你出现问题的代码吗?我以为那是更新现有文档的代码,那实际上是我正在使用的代码。我添加的唯一一个新的部分是rev_id,我想它会更新附件而不是创建一个新的,但是它创建了一个新的附件,我不知道如何更新。抱歉造成混淆,感谢您的回答。您的代码创建了一个带有
uploadRequest=requests.post(…)
的文档,然后根据状态代码返回一个结果。您认为添加附件的部分是什么?如果您想将附件添加到现有文档中,必须使用向文档中的
/{db}/{docid}/{attname}
发出PUT请求。rev_id加上“_attachments”:以及下面的代码。你能给我指一下正确的方向吗