使用Python用Flask上传文档到Dropbox API



尝试通过Flask应用程序上的Submit按钮通过Dropbox的API上传文档。HTML在本地主机上加载,但每当我上传文档并点击Sumbit时,就会出现404错误,并且文档不会发布到Dropbox API。你知道我哪里做错了吗?

Python

from flask import Flask, render_template, request
import dropbox
# Function Definition
def uploader(token, file):
target = '/temp'
targetFile = target + 'test.docx'
connection = dropbox.Dropbox(token)
meta = connection.files_upload(file, targetFile, mode=dropbox.files.WriteMode("overwrite"))
# Flask App
app = Flask(__name__)
@app.route('/', methods=['POST', 'GET'])
def upload_document():
if request.method == "POST":
uploader(token, request.files['file'])
return render_template('index.html')
if __name__ == "__main__":
app.run()

HTML

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form method = "post" action = "/home" enctype = "multipart/form-data">
<p>
<input type="file" name="file" autocomplete="off" required>
</p>
<p>
<input type="submit" value="Submit">
</p>
</form> 
</body>
</html>

看起来这个问题源于通过Dropbox连接通过函数传递时脚本不读取文件。使用时,在连接中添加file.read()

# Function Definition
def uploader(token, file):
target = '/temp'
targetFile = target + 'test.docx'
connection = dropbox.Dropbox(token)
meta = connection.files_upload(file.read(), targetFile, mode=dropbox.files.WriteMode("overwrite"))

最新更新