你好,我是Autodesk Forge的新手。我按照教程上传了一个文件到BIM 360。上传时使用邮递员工作,但我无法查看文件时,我上传使用React。
我使用FileReader并以BinaryString的形式读取文件。其中令牌是访问令牌。
onInputChange(e){
let files = e.target.files;
let reader = new FileReader();
reader.readAsBinaryString(files[0]);
reader.onload = (e) => {
const buffer = Buffer.from(e.target.result, 'base64');
var myHeaders = new Headers();
myHeaders.append("Authorization", `Bearer ${token}`);
myHeaders.append("Content-Type", "application/octet-stream");
var requestOpts = {
method: 'PUT',
headers: myHeaders,
body: buffer,
};
fetch('https://developer.api.autodesk.com/oss/
v2/buckets/:bucketKey/objects/:objectName'
, requestOpts)
.then(response => response.json())
}
}
该文件设法上传,但我无法在bim 360中查看它。下面的图片。
发布于 2022-01-05 11:43:43
由于意见中的建议,找到了解决办法。必须将FileReader方法更改为
reader.readAsArrayBuffer(files[0]);
在https://github.com/Autodesk-Forge/forge-api-nodejs-client/blob/master/src/api/ObjectsApi.js中找到的文档表明,主体必须是一个数组缓冲区。
https://stackoverflow.com/questions/70397048
复制相似问题