Загрузка файла JSON с использованием ForgeSDK, ObjectsAPI to Forge bucket завершается ошибкой - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь взять набор файлов, хранящихся в одной корзине, и скопировать их в другую (один временный, а другой временный - файлы должны храниться в течение более длительного периода времени). Я использую NodeJS ForgeSDK, используя getObject для загрузки файла, затем uploadObject, чтобы поместить его во вторую корзину. Кажется, это работает нормально для большинства файлов, которые я перемещаю, но терпит неудачу, когда я пытаюсь использовать его в файле JSON.

Я пробовал преобразовать JSON как в буфер, так и в строку перед вызовом uploadObject, оба не дают ошибку тайм-аута шлюза.

Есть какие-нибудь предложения, как заставить это работать? Спасибо!

static copyObjectToBucket(oAuth2TwoLegged, bucketName, copyToBucketName, objectName, access, callback) {
    console.log(bucketName, copyToBucketName, objectName);
    ObjectsApi.getObject(bucketName, objectName, {}, oAuth2TwoLegged, oAuth2TwoLegged.getCredentials())
    .then((resp) => {
            var headers = resp.headers;
            var contentLength = headers['content-length'];
            var body = resp.body;
            if (objectName.includes('json')){
                body = JSON.stringify(body[0]);
            }

            ObjectsApi.uploadObject(copyToBucketName, objectName, contentLength, body, {}, oAuth2TwoLegged, oAuth2TwoLegged.getCredentials())
            .then(
                (res) =>{
                    console.log(res);
                    callback;
                }                  
            )
            .catch((err) =>{
                console.log(err);
                }
            );
        })        
}

1 Ответ

0 голосов
/ 25 мая 2020

Существуют определенные ограничения, когда дело касается загрузки файлов в службу Forge Data Management, однако JSON файлов не должно быть проблемой. Попробуйте загрузить файл JSON другим способом, например:

Если вы можете загрузить JSON с помощью одного из этих инструментов, это может быть проблемой в SDK. В этом случае сообщите об ошибке в https://github.com/Autodesk-Forge/forge-api-nodejs-client.

Btw. Я только что попытался загрузить файл JSON с расширением VSCode и не обнаружил проблем.

...