带有 q_ 参数的cludinary upload api 的问题

问题描述 投票:0回答:1

我正在建立一个网站,用户可以上传一些视频,如果视频太大,我想降低其质量并保存到我的cloudinary帐户。

此代码:

返回获取(

https://api.cloudinary.com/v1_1/${CLOUD_NAME}/${type === 'img' ? 'image' : 'video'}/upload

按预期上传视频,但是当我最后添加诸如 q_20 或 q_auto 之类的内容时:

返回获取(

https://api.cloudinary.com/v1_1/${CLOUD_NAME}/${type === 'img' ? 'image' : 'video'}/upload/q_20

它给了我一个 404 错误以及“被 cors 阻止”错误。

我不知道这是否重要,但是这段代码是在前端使用react编写并在localhost3000上运行的。

javascript reactjs frontend html5-video cloudinary
1个回答
0
投票

在 URL 末尾添加

q_20
将返回 404,因为这会使 URL 与 Cloudinary 上的任何有效 API 端点不匹配。

根据您的帖子,我了解到您在将视频存储到您的 Cloudinary 帐户之前尝试将其转换为

quality: 20
。如果是这种情况,则这称为 传入转换,您需要在请求正文中设置该
transformation
参数,而不是附加到 API URL。

例如,您可以将其作为 FormData 发送,如下所示:

let formData = new FormData();
formData.append('file', <your image or video URL/blob etc>);
formData.append('transformation', 'q_20');

然后将

formData
作为
fetch()
通话正文的一部分发送。

我不确定您使用的是 Cloudinary 上的哪个套餐,但至少在免费套餐中,您可以上传的视频的最大文件大小为 100MB。如果您的视频高于要上传的视频,则调整视频大小(例如从高清分辨率到标清分辨率)或降低质量应该会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.