Php 直接上传的Cloudinary授权
我为cloudinary创建了一个有效的客户端上传脚本。上传的重要部分:Php 直接上传的Cloudinary授权,php,html,cloudinary,Php,Html,Cloudinary,我为cloudinary创建了一个有效的客户端上传脚本。上传的重要部分: <?php $cloudName = "..."; $apiKey = "..."; $time = time(); $apiSecret = "..."; $fileName = "..."; ?> <form action="https://api.cloudinary.com/v1_1/<?php echo $cloudNam
<?php
$cloudName = "...";
$apiKey = "...";
$time = time();
$apiSecret = "...";
$fileName = "...";
?>
<form action="https://api.cloudinary.com/v1_1/<?php echo $cloudName;?>/image/upload" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="hidden" name="signature" value="<?php echo sha1('public_id='.$fileName.'×tamp='.$time.$apiSecret);?>" />
<input type="hidden" name="api_key" value="<?php echo $apiKey; ?>"/>
<input type="hidden" name="timestamp" value="<?php echo $time; ?>" />
<input type="hidden" name="public_id" value="<?php echo $fileName; ?>" />
<input type="submit" name="submit" value="Submit">
</form>
现在我想给上传添加一个转换,这样上传在被存储之前就被转换,以节省存储空间
我尝试添加以下代码,其中resize是我在cloudinary帐户中创建的转换
<input type="hidden" name="transformation" value="resize" />
但是带有转换字段的请求会导致错误。我想我必须对签名做些什么,但是怎么办?您可以使用中的cl\u form\u标记来构建包含所有输入标记的表单。但是,您可能希望使用jQuery直接上传,它提供了更好的控制,并且在UI方面更具可定制性。看见如果由于某种原因无法使用PHP客户端库,代码中有两个问题: 命名转换可以通过在其前面加上t_前缀来使用。因此转换字段的值应该是t_resize。 需要将转换参数添加到签名中。请注意,参数名称在签名时需要按字母顺序排列。
谢谢我将t_u添加到转换中,并按字母顺序将其添加到签名中,它现在正在工作!