用于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>
。
答案 0 :(得分:1)
每当我看到带有反斜杠的字符串文字,并且Microsoft Windows的气味在附近时,我怀疑反斜杠\需要替换为\\,或者进行其他适当处理。
答案 1 :(得分:0)
我认为有两个问题:
使用Content-Type: multipart/form-data
时,必须以FormData的形式提供请求数据,而不是使用querystring.stringify
对其进行编码。
您要添加到表单数据中的文件必须是可公开访问的URL,或者是具有本地文件数据的File对象。您不能使用本地文件路径,例如C:\Users\Admin\foto.jpg
。仅当使用curl之类的文件(并以@
作为文件路径的前缀)时,才有可能。
此堆栈溢出答案可能会提供有关如何从Node.js上传文件的更多帮助:Nodejs Formdata file upload。