七牛云API的使用包括Ajax上传功能及凭证生成
1.服务端(主要用于生成上传,删除,下载等凭证)
引入Qiniu的Get包。包就叫Qiniu。

//上传凭证
//上传凭证:其余凭证类似的写法
public string UpLoadToken()
{
//密钥
Mac mac = new Mac("AK", "SK");
// 存储空间名
string Bucket = "wximagess";
//上传凭证
PutPolicy putPolicy = new PutPolicy();
//凭证有效时间
putPolicy.SetExpires(7200);
//存储空间名 。覆盖上传要写成 putPolicy.Scope = Bucket:key; key是文件名
putPolicy.Scope = Bucket;
//上传的内容定时删除(自定义)30天
putPolicy.DeleteAfterDays = 30;
string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString());
return token;
}
服务端直接下载
· public string Down()
{
Mac mac = new Mac("AK", "SK");
//下载的地址
string domain = "http://rkp2te65d.bkt.clouddn.com";
//下载的文件名
string key = "测试上传2";
//下载外链 3600外链有效期
string privateUrl = DownloadManager.CreatePrivateUrl(mac, domain, key, 3600);
Console.WriteLine(privateUrl);
return privateUrl;
}
服务端直接上传
public string UpLoad()
{
//密钥
Mac mac = new Mac("AK", "SK");
//文件名
string key = "测试上传2";
// 本地文件路径
string filePath = "C:\\素材\\图片\\6a04b428gy1fyrlfhjaz1g207i07ijy0.gif";
// 存储空间名
string Bucket = "XXX";
//上传凭证
PutPolicy putPolicy = new PutPolicy();
putPolicy.SetExpires(7200);
putPolicy.Scope = Bucket;
//自定义返回结果,可不设置,也可根据官网自定义,这里是官网给的自定义例子
putPolicy.ReturnBody = "{\"key\":\"$(key)\",\"hash\":\"$(etag)\",\"fsiz\":$(fsize),\"bucket\":\"$(bucket)\",\"name\":\"$(x:fname)\"}";
putPolicy.DeleteAfterDays = 30;
//凭证
string token = Auth.CreateUploadToken(mac, putPolicy.ToJsonString());
Config config = new Config();
// 空间对应的机房.这里官网给的并不全,新出的空间地域无法直接引用,需要自己根据官网的地址New出新的机房、这里是华东浙江2
config.Zone = new Qiniu.Storage.Zone
{
ApiHost = "api.qiniuapi.com",
CdnUpHosts = new string[1] { "upload-cn-east-2.qiniup.com" },
RsHost = "rs-cn-east-2.qiniuapi.com",
RsfHost = "rsf-cn-east-2.qiniuapi.com",
IovipHost = "iovip-cn-east-2.qiniuio.com",
SrcUpHosts = new string[1] { "up-cn-east-2.qiniup.com" },
};
// 是否使用https域名 https收费,我不使用
config.UseHttps = false;
// 上传是否使用cdn加速
config.UseCdnDomains = true;
//表单上传。好像百兆以下都可以,超过百兆可以分片上传,图片使用表单上传就好,免费空间只有10G。上传图片还可,视频肯定不够用
FormUploader target = new FormUploader(config);
HttpResult result = target.UploadFile(filePath, key, token, null);
return "form upload result: " + result.ToString();
}
2.Ajax请求上传图片

function A() {
$.ajax({
//请求服务端拿到上传凭证
url: "http://xxxx",
type: "get",
success: function (res) {
var token = res;
// localData是图片的base64数据,你可以用任何方式得到你图片的Base64编码
var localData = "XXXXX";
//七牛云只需要Base64后面的内容,因此把多余的前缀删除
localData = localData.replace("data:image/jgp;base64", "");
//开始上传
$.ajax({
url: "http://upload-cn-east-2.qiniup.com/putb64/-1",
type: "post",
beforeSend(request) {
request.setRequestHeader("Content-Type", "application/octet-stream");
request.setRequestHeader("Authorization", "UpToken " + token);
},
data: localData,
success: function (res) {
//上传成功后把文件名key存到自己的数据库里
var imageKey = res.key;
$.ajax({
url: "http://XXXX/UploadImage",
type: "post",
data: imageKey,
headers: {
"Content-Type": "application/json"
}
,
success: function (res) {
alert(res);
}
})
}
})
}
})
}
七牛云API的使用包括Ajax上传功能及凭证生成的更多相关文章
- 七牛云存储Python SDK使用教程 - 上传策略详解
文 七牛云存储Python SDK使用教程 - 上传策略详解 七牛云存储 python-sdk 七牛云存储教程 jemygraw 2015年01月04日发布 推荐 1 推荐 收藏 2 收藏,2.7k ...
- 【PHP】Thinkphp 七牛云API对接
访问一个网站,图片的流量占的比例是非常高的!在你的服务器硬盘上,图片占的容量也是非常高的. 如果要搞一个图片非常多,用户量又很庞大的网站,那么,得花多少钱烧在服务器上? 这种时候,当然要用第三方图片存 ...
- 七牛云存储 qiniu 域名 回收 文件上传 备份 下载 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- php利用七牛云的对象存储完成图片上传-高效管理图片
在搭建个人博客时,大家都会买一台云服务器.可是图片的存放一直是一个问题,冷月帮大家找到一个免费的第三方平台对象存储-七牛云.大家可以把图片上传到七牛云的对象存储,大大节约服务器的压力. 首先,大家在使 ...
- 初试“七牛云”--零基础运用七牛云配合UEditor实现图片的上传和浏览(.NET篇)
(注册和建立存储空间就不介绍了,网上一把一把的资料,自己试着点点也能明白) 作为一个成熟的菜鸟,如果遇到一个新问题,第一步当然是先百度一下... 看了N个关于七牛云的使用的帖子,表示还是蒙圈的,看懂了 ...
- 如何利用”七牛云”在UEditor实现图片的上传和浏览
在学习之前,我参考了朋友些的一篇关于这个功能实现的文章,非常不错.大家可以参考:http://www.cnblogs.com/John-Marnoon/p/5818528.html#3501846 里 ...
- 动手实操(一):如何用七牛云 API 实现相片地图?
实操玩家: 在苹果手机上,我们只要打开定位服务,拍照后便能在相簿中找到地图,地图上显示着在各地拍摄的相片.网站上这种显示方式也并不少见,例如 Flickr.即将关闭的 Panoramio 等. 作为地 ...
- angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传
step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...
- 七牛云存储的 Javascript Web 前端文件上传
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,七牛云存储的 Web 前端文件上传 七牛是不错的云存储产品,特别是有免费的配额可 ...
- 七牛云覆盖上传 php
使用七牛云过程中遇到了需要上传覆盖的情况,最终解决,分享给大家. 七牛云sdk上传示例中是这样写的 <?php require_once 'path_to_sdk/vendor/autoload ...
随机推荐
- centos 安装mbstring(mb_strlen )
部署onethink框架的时候,检测到mb_strlen未支持, 在网上检索一大堆教程,最多的就是先检测一下需要安装的安装包 yum search php 楼主小白满心欢喜地输入,一对照返回的结果, ...
- 学习JavaScript第六天
文章目录 1. JavaScript 中的垃圾回收机制(GC) 1.1 垃圾回收相关概念 ① 什么是垃圾 ② 什么是垃圾回收 ③ 垃圾没有及时回收的后果 ④ JavaScript 垃圾回收的常见算法 ...
- Sealos 基础教程:Sealos Devbox 的架构原理解析
今天这篇文章咱们来聊一聊 Sealos Devbox 到底是怎么设计的,据说隔壁老奶奶最喜欢看这种有技术深度的文章了. Devbox 返璞归真,把开发者的开发精力放到开发中去,真正做到了摈弃复杂的 C ...
- 多进程可以共享内存,那么多进程是否可以共享显存呢?(CPU->内存,GPU->显存)
多进程可以共享内存,那么多进程是否可以共享显存呢?(CPU->内存,GPU->显存) 答案:不能.多进程可以共享内存,但是多进程不能共享显存(NVIDIA GPU 显存不能被多进程共享). ...
- 《JVM第9课》垃圾回收器
先来看一张图,串行代表两个垃圾回收器按顺序执行,并行代表同时执行.STW代表工作线程暂停,Stop The World的意思. 垃圾回收器 执行顺序 执行方式 作用区域 使用算法 说明 Serial ...
- 居然都到 7.x版本了!!!雷池 WAF 社区版 7.x 的体验记录
雷池 WAF 简介 雷池 WAF,英文名 "SafeLine",由长亭科技出品的一款 Web 应用防火墙,可以保护 Web 服务不受黑客攻击,早年就以 "智能语义分析技术 ...
- Spring的IOC容器创建过程深入剖析
前言 本次对于Spring的IOC容器的创建过程是基于其源码进行研究分析的,主要涉及BeanFactory的创建过程,Bean的解析与注册过程,Bean实例化的过程以及诸如ClassPathXmlAp ...
- vue之vuex使用
如图所示,它是一个程序里面的状态管理模式,它是集中式存储所有组件的状态的小仓库,并且保持我们存储的状态以一种可以预测的方式发生变化.对于可以预测,现在我不多做说明,相信在看完这篇文章之后,你就会有自己 ...
- 压缩工具之upx
在golang项目中, 最终运行的是打包好的二进制文件,如何才能让这个文件尽可能的小呢? 1.编译阶段的参数处理 go build使用的是静态编译,会将程序的依赖一起打包,这样一来编译得到的可执行文件 ...
- Django+SimpleUI
1.安装 pip install django-simpleui -i https://pypi.tuna.tsinghua.edu.cn/simple 2.修改配置文件 # 修改project的se ...