错误“至少需要三张图像来处理Photocene”

时间:2018-12-10 18:42:38

标签: javascript autodesk-forge autodesk-realitycapture

用于3D APP的Estoy creando la API照片,存档和使用内容,类型:multipart / form-data。骗局的JavaScript。 我的错误至少需要三张图像来处理Photocene。

este es micódigo,请支持su ayuda para saber como solucionar esto。

app.get('/api/forge/recap/photoscene/upload', function (req, res) {
    var photosceneId = req.query.photosceneid;
    Axios({
        method: 'POST',
        url: 'https://developer.api.autodesk.com/photo-to-3d/v1/file',
        headers: {
            'content-type': 'multipart/form-data',
            'Authorization': 'Bearer ' + access_token
        },
        data: querystring.stringify({
            photosceneid: photosceneId,
            type: 'image',

            'file[0]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto1.JPG',
            'file[1]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto2.JPG',
            'file[2]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto3.JPG',
            'file[3]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto4.JPG',
            'file[4]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto5.JPG',
            'file[5]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto6.JPG',
            'file[6]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto7.JPG',
            'file[7]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto8.JPG',
            'file[8]': 'C:\Users\Administrador\Desktop\Tutorial3\Fotos\Foto9.JPG'


        })
    })
        .then(function (response) {
            // Success
            console.log(response);
            if (response.data.Error) {
                res.send(response.data.Error.msg);
            }
            console.log(JSON.stringify(response.data.Files));
            var nextLink = '/api/forge/recap/photoscene/process?photosceneid=' + photosceneId;
            res.send('<p>Files added to photoscene!</p><a href="' + nextLink + '">Begin processing photoscene</a>');
        })
        .catch(function (error) {
            // Failed
            console.log(error);
            res.send('Failed to upload files to photoscene');
        });
});
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Autodesk Forge: Walkthrough Tutorial</title>

    <meta http-equiv="cache-control" content="max-age=0" />
    <meta http-equiv="cache-control" content="no-cache" />
    <meta http-equiv="expires" content="0" />
    <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
    <meta http-equiv="pragma" content="no-cache" />
    
    <style>
        /** Just simple CSS styling to make this page a little nicer **/
        main {
            padding: 2em;
        }
        main a {
            background-color: #3252aa;
            color: #fff;
            text-decoration: none;
            padding: 1em;
        }
    </style>
</head>

<body>
    <main id="main">
        <a href="/api/forge/oauth">Authorize me!</a>
    </main>
</body>

</html>

2 个答案:

答案 0 :(得分:1)

每当我看到带有反斜杠的字符串文字,并且Microsoft Windows的气味在附近时,我怀疑反斜杠\需要替换为\\,或者进行其他适当处理。

答案 1 :(得分:0)

我认为有两个问题:

  1. 使用Content-Type: multipart/form-data时,必须以FormData的形式提供请求数据,而不是使用querystring.stringify对其进行编码。

  2. 您要添加到表单数据中的文件必须是可公开访问的URL,或者是具有本地文件数据的File对象。您不能使用本地文件路径,例如C:\Users\Admin\foto.jpg。仅当使用curl之类的文件(并以@作为文件路径的前缀)时,才有可能。

此堆栈溢出答案可能会提供有关如何从Node.js上传文件的更多帮助:Nodejs Formdata file upload