通过flask App在heroku服务器的mongodb中上传图像文件

2024-10-05 12:03:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过我的flask应用程序上传mongodb atlas中的图像,当我在本地主机上运行相同的代码时,它工作正常,并且在mongodb“fs.files”中创建了两个集合&;“fs.chunks”并能够在我的浏览器上显示。我已在heroku服务器上托管,可以插入对象集合,但无法上载图像。下面是错误

sock=client at=warning code=H27 desc=“client Request Interrupted”method=POST path=“/upload”host=testsuheal.herokuapp.com Request_id=647a0723-2a35-42f9-8a26-e60a9eb09fd7 fwd=“157.45.29.249”dyno=web.1 connect=0ms service=3532ms status=499 bytes=0 protocol=https 2020-01-18T07:45:41.295293+00:00应用程序[web.1]:10.9.158.174---[18/Jan/2020:07:45:41+0000]“发布/上传HTTP/1.1“400192”https://testsuheal.herokuapp.com/“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/79.0.3945.117 Safari/537.36”

from flask import Flask, jsonify, render_template, request
from flask_pymongo import PyMongo
from flask.json import JSONEncoder
from pymongo import MongoClient
import json,os
from bson import ObjectId
from werkzeug.utils import secure_filename
from random import random
from datetime import datetime
from datetime import date
app = Flask(__name__)

APP_ROOT = os.path.dirname(os.path.abspath(__file__))
app.config['MONGO_URI']='mongodb+srv://xxx:xxx@cluster0-52qhc.mongodb.net/test?retryWrites=true'
mongo = PyMongo(app)
appender=random()

@app.route('/')
def index():    
    return render_template('index.html')


@app.route('/upload', methods=['POST'])
def upload(): 
    photoFilename = request.files['file']   
    mongo.save_file(photoFilename.filename+str(appender),photoFilename)      
    return jsonify({'result':photoFilename.filename}) 

@app.route('/file/<filename>') 
def file(filename):    
    return mongo.send_file(filename)


if __name__ == '__main__':
    # Threaded option to enable multiple instances for multiple user access support
    app.run(threaded=True, port=5000)


Tags: pathfromimportappflaskdatetimeosmongo

热门问题