Autodesk-Forge提供了一种新的版本控制方式,使用户在上传和访问文件时更加灵活。以下是解决方法的代码示例:
1.创建新版本的文件
//通过Forge API上传文件 const bucketName = 'MyBucket'; const objectName = 'MyObject';
const res = await fetch(/api/forge/oss/buckets/${bucketName}/objects/${objectName}
, {
method: 'PUT',
headers: {
'Content-Type': 'application/octet-stream',
'Authorization': Bearer ${accessToken}
},
body: file
});
//保存文件的版本信息 const objectId = await res.json().objectId; const versionNumber = await uploadNewVersion(bucketName, objectId, accessToken);
2.获取版本的文件
//通过Forge API获取文件 const bucketName = 'MyBucket'; const objectName = 'MyObject'; const versionNumber = 2;
const url = /api/forge/oss/buckets/${bucketName}/objects/${objectName}/versions/${versionNumber}/download
;
const res = await fetch(url, {
headers: {
'Authorization': Bearer ${accessToken}
}
});
//将文件显示在Web页面上 const blob = await res.blob(); const url = URL.createObjectURL(blob); document.querySelector('#my-image').src = url;
3.列出所有版本
//通过Forge API列出给定文件的所有版本 const bucketName = 'MyBucket'; const objectName = 'MyObject';
const res = await fetch(/api/forge/oss/buckets/${bucketName}/objects/${objectName}/versions
, {
headers: {
'Authorization': Bearer ${accessToken}
}
});
//将版本信息显示在Web页面上
const versions = await res.json();
const $list = document.querySelector('#version-list');
versions.forEach(version => {
const $li = document.createElement('li');
$li.textContent = Version ${version.versionNumber}
;
$list.appendChild($li);
});
这些示例会帮助您使用Autodesk-Forge的新的版本控制方式来管理您的文件。