AutodeskForge:在EndpointGETbuckets/:bucket_key/objects/:object_name中为文件下载计算校验和。
创始人
2024-11-12 11:00:46
0

在Autodesk Forge API中,您可以通过添加“/details”到您的API URL中,

例如“GET buckets/:bucket_key/objects/:object_name/details”将返回相关文件的详细信息,包括文件大小和校验和。

以下是一个示例,使用Forge JavaScript库计算文件的MD5散列,

以确保文件的完整性:

const { ObjectsApi } = require('forge-apis');
const crc32 = require('crc32');

// Instantiate a client object from the Autodesk Forge API JavaScript SDK
const objectsApi = new ObjectsApi();

// Calculate the CRC32 checksum for a file
async function checksum(bucketKey, objectName) {
    // Get the file details
    const objectDetails = await objectsApi.getObjectDetails(bucketKey, objectName);
    // Download the file as a buffer
    const objectBuffer = await objectsApi.getObject(bucketKey, objectName);
    // Calculate the CRC32 checksum on the buffer
    const hash = crc32(objectBuffer);
    return hash.toString();
}

const bucketKey = 'my-bucket';
const objectName = 'my-file.png';

checksum(bucketKey, objectName)
    .then(hash => {
        console.log(`Checksum for ${objectName} is ${hash}`);
    })
    .catch(err => {
        console.error(err);
    });

在上面的示例中,我们首先实例化了一个ObjectsApi对象,

然后定义了一个checksum函数来计算我们需要的校验和。

在这个函数中,我们首先使用getObjectDetails方法获取文件的详细信息,

然后使用getObject方法下载文件的内容,并将其作为一个缓冲区存储。

最后,我们使用crc32库来计算缓冲区的CRC32校验和,并将其转换为字符串格式。

使用以上代码,您就可以通过Autodesk Forge API在JavaScript中计算文件的校验和了。

相关内容

热门资讯

安装ug未能链接到许可证服务器 安装UG未能链接到许可证服务器是UG用户在安装软件时常遇到的问题之一。该问题的解决方法需要技术向的知...
按转换模式过滤日志【%t】。 要按照转换模式过滤日志,可以使用正则表达式来实现。下面是一个示例代码,使用Java语言的Patter...
安装Pillow时遇到了问题:... 遇到这个问题,可能是因为缺少libwebpmux3软件包。解决方法是手动安装libwebpmux3软...
安卓 - 谷歌地图卡住了 问题描述:在安卓设备上使用谷歌地图应用时,地图卡住了,无法进行任何操作。解决方法一:清除应用缓存和数...
安装Python库"... 安装Python库"firedrake"的解决方法如下:打开终端或命令提示符(Windows系统)。...
安装React Native时... 当安装React Native时出现构建错误的情况,可以尝试以下解决方法:确保已经安装了最新版本的C...
安装某些NPM包时,'... 在NPM中,'@'符号是用来分隔软件包名称和其特定版本或范围参数的。例如,您可以使用以下命令安装 R...
按照CSV文件中的名称对图像进... 要按照CSV文件中的名称对图像进行筛选,可以使用以下步骤:读取CSV文件:使用Python的csv模...
Android TV 盒子出现... Android TV 盒子上的应用程序停止运行可能是由于多种原因引起的,以下是一些可能的解决方法和相...
ASP计时器阻塞用户界面吗? 在ASP中,计时器不会阻塞用户界面。因为ASP是基于事件驱动的,它使用异步编程模型,不会阻塞用户界面...