上传前的准备工作

调用七牛云的上传接口之前,您需要确认以下要求都已完成:

  1. 登录 七牛云开发者平台。
  2. 创建一个 空间(Bucket)。根据您的需求在不同的存储区域创建空间, 存储区域可参考 七牛云存储区域

注意: 如果您是体验用户,新建存储空间时,会遇到 “新建存储空间失败,请先实名认证”的提示信息。

七牛云的上传有两种模式

表单上传
分片上传

我这里以表单上传为例,首先您可自行阅读七牛云官方 表单上传文档

调用接口之前需要先准备好上传凭证(就是调用接口时的upload_token),具体可参考 上传凭证

生成凭证之前需要先构造上传策略,可参考 上传策略 ,可根据您自己的需求自行构造上传策略

七牛云官方提供了各语言的SDK包,您可以下载使用,也可以根据官方上传凭证文档自行组装上传凭证,如下算法使用的是PHP

生成上传凭证算法

写算法之前您需要准备您的 SecretKey 和您的 AccessKey
首先进入 管理控制台 ,点击头像,点击密钥管理 就可以看到您的 SecretKey 和您的 AccessKey

# 构造上传策略
$putPolicy = array('scope' => 'reduwang','deadline' => strtotime( '+1 hour' ),'saveKey' => date( 'YmdHis' ),'insertOnly' => 1
);#  将上传策略序列化成为JSON并进行Base64 编码,得到待签名字符串
$putPolicy = base64_encode( json_encode( $putPolicy ) );$SecretKey = 您的SecretKey,类型(string)$AccessKey = 您的AccessKey ,类型(string)# 生成待签名字符串
$sign = hash_hmac( 'sha1' , $putPolicy , $SecretKey , true );# 转码
$encodedSign = base64_encode( $sign );# 生成上传token
$token = $AccessKey . ':' . $encodedSign . ':' . $putPolicy;

上传接口地址可参考上面提到的 存储区域

前端代码示例:

# 将刚才生成的上传凭证放入隐藏域
<input type="hidden" id="uploadToken" value="<?php echo $token; ?>"># 上传文件按钮(id或者name建议设置为file,不然可能会出问题)
<input name="file" type="file" id="file" style='width:300px' size='30' class='pubinputs' /># js代码,这里使用的是layui上传文件中的接口上传
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/layui.js"></script>
<script type="text/javascript">
layui.use('upload', function() {var upload = layui.upload;var token = $("#uploadToken").val();upload.render({elem: '#file',url: 'http://upload.qiniup.com' // 文件上传接口地址,根据您的空间所在的区域选择不同的接口地址,method: 'get'  //可选项。HTTP类型,默认post,headers: {enctype: 'multipart/form-data'},data: {action:'http://upload.qiniup.com',token:token} //可选项。额外的参数,如:{id: 123, abc: 'xxx'},done: function(res){// console.log( '上传成功' + res );if( res.key != '' ){return  alert( '上传成功,文件名为:' + res.key );}},error: function(index,upload){//当上传失败时,你可以生成一个“重新上传”的按钮,点击该按钮时,执行 upload() 方法即可实现重新上传// console.log( '上传失败:' + upload )return alert( '上传失败,刷新页面后重试' );}});});
</script>

代码并非无问题,有待继续完善。感谢您的阅读!

七牛云文件上传接口的使用相关推荐

  1. 小程序对七牛云文件上传删除批量删除生成token封装无需服务器一个小程序搞定

    微信小程序获取token接入七牛云上传删除批量删除图片封装亲测可用 小程序获取七牛云uptoken删除文件封装 在研究官方文档后自己用小程序生成uptoken上传凭证封装,其他资料都说要服务器我又没钱 ...

  2. android上传文件php,PHP编写安卓文件上传接口

    为了快速满足安卓客户端或跨域文件上传接口,现在用PHP写个可以文件上传类.可通过安卓客户端或者其他域名的网站上传窗口,可以把文件上传指定的服务器中,下面是详细代码.//主方法获取上传文件 public ...

  3. FastDFS的配置、部署与API使用解读(8)FastDFS多种文件上传接口详解(转)

    1.StorageClient与StorageClient1的区别 相信使用happy_fish的FastDFS的童鞋们,一定都熟悉StorageClient了,或者你熟悉的是StorageClien ...

  4. springmvc图片文件上传接口

    springmvc图片文件上传 用MultipartFile文件方式传输 Controller package com.controller;import java.awt.image.Buffere ...

  5. layui文件上传接口后端具体实现SpringMVC

    做课程设计时候,用到了layui文件上传接口,参考官方文档给出的响应接口文档: {"code": 0,"msg": "","dat ...

  6. Golang 调用http 文件上传接口 进行上传文件

    远程服务器有一个文件上传接口,文件用于保存到服务器本地,用go如何调用此接口将文件上传至服务器? 首先,文件上传请求方 与 接收方 要协调工作(解析等工作) 接收方: func UploadFileT ...

  7. SpringBoot实现文件上传接口

    作者平台: | CSDN:blog.csdn.net/qq_41153943 | 掘金:juejin.cn/user/651387- | 知乎:www.zhihu.com/people/1024- | ...

  8. Jmeter(五)excel文件上传接口压力测试问题

    前言 大家好 我是Mikasa 已经时隔两个多月没更新过blog了,因为刚换公司一直在学习业务知识及忙于生活中一些琐碎的事情,没什么时间研究学习 本章内容的话也是在公司中遇到的一个问题,需要对批量文件 ...

  9. 【微服务|openfeign】使用openfeign远程调用文件上传接口

    文章目录 服务提供者-文件上传接口 FeignClient 消费者-通过FeignClient调用文件上传接口 服务提供者-文件上传接口 @PostMapping("/saveFile&qu ...

最新文章

  1. 实现二叉树的先序遍历、中序遍历、后序遍历
  2. ajax获取单选按钮的值_【自学C#】|| 笔记 31 控件,按钮
  3. 产品开发专业认证_食品招生季食品科学与工程专业介绍
  4. 网络安全-Internet安全体系结构
  5. python编程单词排序_Python实现对文件进行单词划分并去重排序操作示例
  6. [转载] python中的for循环对象和循环退出
  7. SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka
  8. Subversion for Windows 相关工具
  9. Atitit MATLAB 图像处理 经典书籍attilax总结
  10. 54部经典国外动画片---送给70-80年代的朋友
  11. 微信小程序数据懒加载
  12. PaddleOCR手写体训练摸索
  13. 金融分析python和r语言比较_金融领域R语言对比python
  14. 惯性导航(IMU)误差分析
  15. 用Haskell写的卡普雷尔卡kaprekar黑洞小程序
  16. 【转载】不死族资深玩家的三年心得
  17. 云服务器打不开,为什么打不开云服务器失败怎么回事
  18. Photoshop安装问题:106 无法写入注册表
  19. 开尔文夹接线图解_接地线连接线夹安装方法是什么?
  20. 武汉理工计算机考研852,武汉理工852经验帖

热门文章

  1. 天津成考计算机高分技巧,成考数学不可触碰的雷区和得分技巧,非常实用
  2. JXL(JXLS)的使用:java中操作Excel的解决方案之一。
  3. 学生动漫网页设计模板下载 火影忍者大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板
  4. 饿了么四次技术进化的曲折路,记访谈张雪峰
  5. geth客户端:Looking for peers
  6. 企业qq邮箱,网易邮箱账号注册,这些企业邮箱哪个好?
  7. rtx3080显卡怎么样 rtx3080功耗
  8. aspose将word文档转为html内容
  9. 程序员因太过耿直, 致苹果官网出现bug, 网友直呼: 太可爱了
  10. Win10如何在任务栏时钟区显示秒针