我正在尝试使用 Dropbox 集成在此处输入链接描述。使用 XHR 上传器正常上传文件效果很好。然后我添加了他们的 Dropbox 集成并按照他们的文档中的描述设置了 Dropbox 帐户 (https://uppy.io/docs/dropbox/),但我似乎遗漏了一些东西
这是我的反应组件:
import React, { useEffect } from 'react';
import { Uppy, debugLogger } from '@uppy/core';
import { Dashboard } from '@uppy/react';
import XHRUpload from '@uppy/xhr-upload'
import Dropbox from '@uppy/dropbox';
// Don't forget the CSS: core and the UI components + plugins you are using.
import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';
import '@uppy/webcam/dist/style.min.css';
// Don’t forget to keep the Uppy instance outside of your component.
const uppy = new Uppy({ logger: debugLogger })
.use(XHRUpload, {
endpoint: 'http://localhost:5000/api/fileManager/upload',
fieldName: 'file',
formData: true
})
.use(Dropbox, {
companionUrl: 'http://localhost:3020',
});
function FileManager() {
return <Dashboard uppy={uppy} plugins={['Dropbox']} />;
}
export default FileManager;
我使用 docker 托管我自己的同伴:
services:
companion:
image: "transloadit/companion:latest"
ports:
- "3020:3020"
environment:
COMPANION_DATADIR: "./output"
COMPANION_DOMAIN: "localhost:3020"
COMPANION_PORT: "3020"
COMPANION_ALLOW_LOCAL_URLS: "true"
COMPANION_DROPBOX_KEY: "xxx"
COMPANION_DROPBOX_SECRET: "xxx"
volumes:
- ./output:/app/output
我有一个基本的 Flask API 在
localhost:5000
下工作
from flask import Blueprint, request
import os
import multipart
fileManager = Blueprint('fileManager', __name__)
@fileManager.route('/fileManager/upload', methods=["GET"])
def get():
return {"message":"this is atest"}, 200
@fileManager.route('/fileManager/upload', methods=["POST"])
def post():
file = request.files['file']
file.save(os.path.join('./output', file.filename))
return {"message":"this is atest"}, 200
这是我的 Dropbox 设置:(请注意,我将其设置为 localhost。)
我收到以下错误:
Error (400) It seems the app you were using submitted a bad request. If you would like to report this error to the app’s developer, include the information below. More details for developers Missing client_id.
我不知道我还应该做什么。 XHR 文件上传工作正常,想尝试使用同伴的东西。我也阅读了所有 github 问题,但我似乎无法解决问题。
如有任何帮助,我们将不胜感激。
所以今天,我带着清新而清醒的头脑回来尝试找出答案。事实证明,我没有正确重新创建 docker 容器,并且我的环境变量从未设置过。
您可以使用
docker exec -it <container_id> sh
或类似的东西连接到正在运行的 docker compose 容器,并使用 env
命令打印所有环境变量。我错过了保管箱密钥和秘密。重新创建了容器和所有东西,现在它就在那里并且现在应该可以工作了。 :)