Qiniu
Qiniu (Cloud) C# SDK for .NET Framework 2.0+/Core/UWP
Modules in this SDK:
"Storage" 存储相关功能,上传,下载,数据处理,资源管理
"CDN", Fusion CDN, 融合CDN加速;
"Util", Utilities such as MD5 hashing, 实用工具(如MD5哈希计算等);
"Http", HTTP Request Manager, HTTP请求管理器
SDK名称
目标框架
SDK版本号
配置信息,主要包括Zone配置(另请参阅Zone模块)
目前已支持的机房包括:
华东(CN_East), 华北(CN_North), 华南(CN_South), 北美(US_North)
默认设置为华东机房(CN_East)
默认高级资源管理域名
默认数据处理域名
空间所在的区域(Zone)
是否采用https域名
是否采用CDN加速域名,对上传有效
分片上传时,片的大小,默认为4MB,以提高上传效率
分片上传的阈值,超过该大小采用分片上传的方式
重试请求次数
获取资源管理域名
获取资源列表域名
获取数据处理域名
获取资源抓取更新域名
获取文件上传域名
资源抓取返回的内容
文件名
文件大小(字节)
文件hash(ETAG)
文件MIME类型
文件抓取返回的消息
Fetch信息列表
转换为易读字符串格式
便于打印和阅读的字符串
持久化请求的回复
任务ID
任务结果状态码
任务结果状态描述
待处理的数据文件
待处理文件所在空间
数据处理队列
任务的Reqid
数据处理的命令集合
持久化处理命令
命令
命令执行结果状态码
命令执行结果描述
命令执行错误
VSample命令的生成文件名列表
命令生成的文件名
命令生成的文件内容hash
该命令是否返回了上一次相同命令生成的结果
查询数据处理状态的返回值
持久化任务的状态
转换为易读字符串格式
便于打印和阅读的字符串
文件上传的额外可选设置
设置文件断点续传进度记录文件
上传可选参数字典,参数名次以 x: 开头
指定文件的MimeType
设置文件上传进度处理器
设置文件上传的状态控制器
最大重试次数
目前已支持的区域:华东/华北/华南/北美
资源管理
源列表
数据处理
镜像刷新、资源抓取
资源上传
CDN加速
华东
华北
华南
北美
Zone辅助类,查询及配置Zone
从uc.qbox.me查询得到回复后,解析出upHost,然后根据upHost确定Zone
AccessKek
空间名称
从uc.qbox.me返回的消息
分片大小
128KB
256KB
512KB
1MB
2MB
4MB
ChunkSize转换
计算ChunkSize
计算ChunkUnit
上传策略
参考文档:https://developer.qiniu.com/kodo/manual/1206/put-policy
[必需]bucket或者bucket:key
[可选]若为 1,表示允许用户上传以 scope 的 keyPrefix 为前缀的文件。
[必需]上传策略失效时刻,请使用SetExpire来设置它
[可选]"仅新增"模式
[可选]保存文件的key
[可选]终端用户
[可选]返回URL
[可选]返回内容
[可选]回调URL
[可选]回调内容
[可选]回调内容类型
[可选]回调host
[可选]回调fetchkey
[可选]上传预转持久化
[可选]持久化结果通知
[可选]私有队列
[可选]上传文件大小限制:最小值
[可选]上传文件大小限制:最大值
[可选]上传时是否自动检测MIME
[可选]上传文件MIME限制
[可选]文件上传后多少天后自动删除
[可选]文件的存储类型,默认为普通存储,设置为1为低频存储
设置上传凭证有效期(配置Deadline属性)
转换为JSON字符串
JSON字符串
分片上传的上下文信息
上下文信息
校验和
crc32校验值
文件偏移位置
上传目的host
ctx失效时刻
断点续上传辅助函数Load/Save
生成默认的断点记录文件名称
待上传的本地文件
要保存的目标key
用于记录断点信息的文件名
尝试从从文件载入断点信息
断点记录文件
断点信息
保存断点信息到文件
断点信息
断点记录文件
分片上传的记录信息
文件大小
当前块编号
文件块总数
上下文信息列表
Ctx过期时间戳(单位秒)
上传进度信息序列化
上传任务的状态
任务状态:激活
任务状态:暂停
任务状态:退出
上传任务的控制函数
分片上传进度处理
已上传的字节数
文件总字节数
分片上传/断点续上传,适合于以下"情形2~3":
(1)网络较好并且待上传的文件体积较小时(比如100MB或更小一点)使用简单上传;
(2)文件较大或者网络状况不理想时请使用分片上传;
(3)文件较大并且需要支持断点续上传,请使用分片上传(断点续上传)
上传时需要提供正确的上传凭证(由对应的上传策略生成)
上传策略 https://developer.qiniu.com/kodo/manual/1206/put-policy
上传凭证 https://developer.qiniu.com/kodo/manual/1208/upload-token
初始化
分片上传的配置信息
分片上传,支持断点续上传,带有自定义进度处理、高级控制功能
本地待上传的文件名
要保存的文件名称
上传凭证
上传可选配置
上传文件后的返回结果
分片上传/断点续上传,带有自定义进度处理和上传控制,检查CRC32,可自动重试
待上传文件流
要保存的文件名称
上传凭证
可选配置参数
上传文件后返回结果
根据已上传的所有分片数据创建文件
源文件名
文件大小
要保存的文件名
所有数据块的Context
上传凭证
用户指定的额外参数
此操作执行后的返回结果
创建块(携带首片数据),同时检查CRC32
数据片,此操作都会携带第一个数据片
块大小,除了最后一块可能不足4MB,前面的所有数据块恒定位4MB
分片大小,一个块可以被分为若干片依次上传然后拼接或者不分片直接上传整块
上传凭证
此操作执行后的返回结果
上传数据片,同时检查CRC32
数据片
当前片在块中的偏移位置
当前片的大小
承接前一片数据用到的Context
上传凭证
此操作执行后的返回结果
默认的进度处理函数-上传文件
已上传的字节数
文件总字节数
默认的上传控制函数,默认不执行任何控制
控制状态
简单上传,适合于以下"情形1":
(1)网络较好并且待上传的文件体积较小时(比如100MB或更小一点)使用简单上传;
(2)文件较大或者网络状况不理想时请使用分片上传;
(3)文件较大并且需要支持断点续上传,请使用分片上传(断点续上传)
上传时需要提供正确的上传凭证(由对应的上传策略生成)
上传策略 http://developer.qiniu.com/article/developer/security/upload-token.html
上传凭证 http://developer.qiniu.com/article/developer/security/put-policy.html
初始化
表单上传的配置信息
上传文件 - 可附加自定义参数
待上传的本地文件
要保存的目标文件名称
上传凭证
上传可选设置
上传文件后的返回结果
上传数据
待上传的数据
要保存的key
上传凭证
上传可选设置
上传数据后的返回结果
上传数据流
(确定长度的)数据流
要保存的key
上传凭证
上传可选设置
上传数据流后的返回结果
默认的进度处理函数-上传文件
已上传的字节数
文件总字节数
默认的上传控制函数,默认不执行任何控制
控制状态
上传管理器,根据文件/数据(流)大小以及阈值设置自动选择合适的上传方式
初始化
文件上传的配置信息
上传数据
待上传的数据
要保存的文件名称
上传凭证
上传可选设置
上传文件后的返回结果
上传文件,根据文件大小以及设置的阈值(用户初始化UploadManager时可指定该值)自动选择:
若文件大小超过设定阈值,使用ResumableUploader,否则使用FormUploader
本地待上传的文件名
要保存的文件名称
上传凭证
上传可选设置
上传文件后的返回结果
上传文件数据流,根据文件大小以及设置的阈值(用户初始化UploadManager时可指定该值)自动选择:
若文件大小超过设定阈值,使用ResumableUploader,否则使用FormUploader
待上传的数据流
要保存的文件名称
上传凭证
上传可选设置
上传文件后的返回结果
空间文件下载,只提供简单下载逻辑
对于大文件下载、断点续下载等需求,可以根据实际情况自行实现
生成授权的下载链接(访问私有空间中的文件时需要使用这种链接)
账号(密钥)
(私有)空间文件的下载域名
(私有)空间文件名
从生成此链接的时刻算起,该链接有效时间(单位:秒)
已授权的下载链接
生成公开空间的下载链接
公开空间的文件下载域名
公开空间文件名
公开空间文件下载链接
下载文件到本地
(可访问的或者已授权的)链接
(另存为)本地文件名
下载资源的结果
批量处理结果
错误消息
获取批量处理结果
转换为易读字符串格式
便于打印和阅读的字符串>
空间(资源)管理/操作
获取空间文件信息
空间名称
文件key
文件信息获取结果
获取空间(bucket)列表
是否列出被授权访问的空间
空间列表获取结果
删除文件
空间名称
文件key
状态码为200时表示OK
复制文件
源空间
源文件key
目标空间
目标key
状态码为200时表示OK
复制文件 (with 'force' param)
源空间
源文件key
目标空间
目标key
force标志,true/false
状态码为200时表示OK
移动文件
源空间
源文件key
目标空间
目标key
状态码为200时表示OK
移动文件 (with 'force' param)
源空间
源文件key
目标空间
目标key
force标志,true/false
状态码为200时表示OK
修改文件MimeType
空间名称
文件key
修改后的MIME Type
状态码为200时表示OK
修改文件存储类型
空间名称
文件key
修改后的文件存储类型,0表示普通存储,1表示低频存储
状态码为200时表示OK
批处理
批量操作的操作字符串
状态码为200时表示OK
批处理,字符串数组拼接后与另一形式等价
批量操作的操作字符串数组
状态码为200时表示OK
抓取文件
资源URL
空间名称
文件key
状态码为200时表示OK
更新文件,适用于"镜像源站"设置的空间
空间名称
文件key
状态码为200时表示OK
获取空间的域名
空间名称
空间对应的域名
获取空间文件列表
listFiles(bucket, prefix, marker, limit, delimiter)
bucket: 目标空间名称
prefix: 返回指定文件名前缀的文件列表(prefix可设为null)
marker: 考虑到设置limit后返回的文件列表可能不全(需要重复执行listFiles操作)
执行listFiles操作时使用marker标记来追加新的结果
特别注意首次执行listFiles操作时marker为null
limit: 每次返回结果所包含的文件总数限制(limit最大值1000,建议值100)
delimiter: 分隔符,比如-或者/等等,可以模拟作为目录结构(参考下述示例)
假设指定空间中有2个文件 fakepath/1.txt fakepath/2.txt
现设置分隔符delimiter = / 得到返回结果items =[],commonPrefixes = [fakepath/]
然后调整prefix = fakepath/ delimiter = null 得到所需结果items = [1.txt,2.txt]
于是可以在本地先创建一个目录fakepath,然后在该目录下写入items中的文件
空间名称
前缀
标记
数量限制
分隔符
文件列表获取结果
更新文件生命周期
空间名称
文件key
多少天后删除
状态码为200时表示OK
生成stat操作字符串
空间名称
文件key
stat操作字符串
生成delete操作字符串
空间名称
文件key
delete操作字符串
生成copy操作字符串
源空间
源文件key
目标空间
目标文件key
copy操作字符串
生成copy(with 'force' param)操作字符串
源空间
源文件key
目标空间
目标文件key
force标志,true/false
copy操作字符串
生成move操作字符串
源空间
源文件key
目标空间
目标文件key
move操作字符串
生成copy(with 'force' param)操作字符串
源空间
源文件key
目标空间
目标文件key
force标志,true/false
move操作字符串
生成chgm操作字符串
空间名称
文件key
修改后MIME Type
chgm操作字符串
生成chtype操作字符串
空间名称
文件key
修改后文件类型
chtype操作字符串
生成fetch操作字符串
资源URL
空间名称
文件key
fetch操作字符串
生成prefetch操作字符串
空间名称
文件key
prefetch操作字符串
生成updateLifecycle操作字符串
空间名称
文件key
多少天后删除(设为0表示取消)
updateLifecycle操作字符串
批量处理返回的信息
状态码
消息
批量处理的结果内容
处理遇到的错误信息
文件hash(ETAG)
文件大小(字节)
文件MIME类型
上传时间
文件存储类型
获取空间列表-结果
空间列表
转换为易读字符串格式
便于打印和阅读的字符串
获取空间域名(domains操作)的返回消息
域名(列表)
转换为易读字符串格式
便于打印和阅读的字符串
文件描述(stat操作返回消息中包含的有效内容)
与StatInfo一致
文件名
文件hash(ETAG)
文件大小(字节)
文件MIME类型
上传时间
文件存储类型
EndUser字段
获取空间文件(list操作)
返回JSON字符串
{
"marker":"MARKER",
"items":
[
{
"key":"KEY",
"hash":"HASH",
"fsize":FSIZE,
"mimeType":"MIME_TYPE",
"putTime":PUT_TIME,
"type":FILE_TYPE
},
{
...
}
],
"CmmonPrefixes":"COMMON_PREFIXES"
}
marker标记
文件列表
公共前缀
获取空间文件列表(list操作)的返回消息
文件列表信息
转换为易读字符串格式
便于打印和阅读的字符串>
获取空间文件信息(stat操作)的有效内容
文件大小(字节)
文件hash(ETAG)
文件MIME类型
文件上传时间
文件存储类型
获取空间文件信息(stat操作)的返回消息
stat信息列表
转换为易读字符串格式
便于打印和阅读的字符串
bucket info
bucket name
itbl
deprecated
id
zone
region
isGlobal
isLineStorage
creationTime
获取bucket信息-结果
bucket信息
转换为易读字符串格式
便于打印和阅读的字符串
持久化
此ID可用于查询持久化进度
转换为易读字符串格式
便于打印和阅读的字符串
数据处理
构建新的数据处理对象
数据处理
空间
空间文件的key
操作(命令参数)
私有队列
通知url
forece参数
pfop操作返回结果,正确返回结果包含persistentId
数据处理,操作字符串拼接后与另一种形式等价
空间
空间文件的key
操作(命令参数)列表
私有队列
通知url
forece参数
操作返回结果,正确返回结果包含persistentId
查询pfop操作处理结果(或状态)
持久化ID
操作结果
根据uri的类型(网络url或者本地文件路径)自动选择dfop_url或者dfop_data
文件处理命令
资源/文件URI
操作结果/返回数据
文本处理(直接传入文本内容)
文本处理命令
文本内容
文本处理(从文件读取文本)
文本处理命令
文本文件
如果uri是网络url则使用此方法
文件处理命令
资源URL
处理结果
如果uri是本地文件路径则使用此方法
文件处理命令
文件名
处理结果
缓存刷新-请求
要预取的单个url列表,总数不超过100条
单个url,即一个具体的url,例如:http://bar.foo.com/test.zip
注意:
请输入资源 url 完整的绝对路径,由 http:// 或 https:// 开始
资源 url 不支持通配符,例如:不支持 http://www.test.com/abc/*.*
带参数的 url 刷新,根据其域名缓存配置是否忽略参数缓存决定刷新结果。
如果配置了时间戳防盗链的资源 url 提交时刷新需要去掉 e 和 token 参数
要刷新的目录url列表,总数不超过10条;目录dir,即表示一个目录级的url,需要以 / 结尾
例如:http://bar.foo.com/dir/,
也支持在尾部使用通配符,例如:http://bar.foo.com/dir/*
初始化(所有成员为空,需要后续赋值)
初始化URL列表
URL列表
URL目录列表
添加URL列表
URL列表
添加URL目录列表
URL目录列表
转换到JSON字符串
请求内容的JSON字符串
缓存刷新-消息内容结构
在请求成功时 code 为 200,requestId、urlQuotaDay、urlSurplusDay、dirQuotaDay、dirSurplusDay才会有有效值,否则为空。
在请求失败时 code 为非 200,error 中包含描述信息。
以下是一个返回结果示例
{
"code":200,
"error":"success",
"requestId":"575d1930f9537d3f2600003d",
"invalidUrls":null,
"invalidDirs":null,
"urlQuotaDay":100,
"urlSurplusDay":99,
"dirQuotaDay":10,
"dirSurplusDay":10
}
代码 含义 说明
200 success 成功(OK)
400031 invalid url 请求中存在无效的 url,请确保 url 格式正确
400032 invalid host 请求中存在无效的域名,请确保域名格式正确
400034 refresh url limit error 请求次数超出当日刷新限额
400036 invalid request id 无效的请求 id
400037 url has existed url 正在刷新中
500000 internal error 服务端内部错误,请联系技术支持
错误消息(状态码非OK时)
请求ID(可用于反馈排查)
非法URL
非法URL目录
当日URL刷新限额
当日剩余URL刷新额度
当日URL目录刷新限额
当日剩余URL目录刷新额度
缓存刷新-结果
获取缓存刷新信息
转换为易读字符串格式
便于打印和阅读的字符串
文件预取-请求
要预取的单个url列表,总数不超过100条
单个url,即一个具体的url,例如:http://bar.foo.com/test.zip
注意:
请输入资源 url 完整的绝对路径,由 http:// 或 https:// 开始
资源 url 不支持通配符,例如:不支持 http://www.test.com/abc/*.*
初始化(URL列表为空,需要后续赋值)
初始化(URL列表)
URL列表
添加要查询的URL
URL列表
转换到JSON字符串
请求内容的JSON字符串
文件预取-消息内容结构
在请求成功时 code 为 200,requestId、quotaDay、surplusDay 才会有有效值,否则为空。
在请求失败时 code 为非 200,error 中包含描述信息。
以下是一个返回结果示例
{
"code":200,
"error":"success",
"requestId":"577471ace3ab3a030c058972",
"invalidUrls":null,
"quotaDay":100,
"surplusDay":99
}
代码 含义 说明
/// 200 success 成功(OK)
400031 invalid url 请求中存在无效的 url,请确保提交的 url 格式正确
400032 invalid host 请求中存在无效的域名,请确保域名格式正确
400033 prefetch url limit error 请求次数超出当日预取限额
400036 invalid request id 无效的请求 id
400037 url has existed url 正在预取中
500000 internal error 服务端内部错误,请联系技术支持
错误消息(状态码非OK时)
请求ID(可用于反馈排查)
非法URL
当日限额
当日剩余额度
文件预取-结果
获取文件预取信息
转换为易读字符串格式
便于打印和阅读的字符串
查询带宽-请求
起始日期,例如2016-09-01
结束日期,例如2016-09-10
时间粒度((取值:5min / hour /day))
域名列表,以西文半角分号分割
初始化(所有成员为空,需要后续赋值)
初始化所有成员
起始日期
结束日期
时间粒度
域名列表
转换到JSON字符串
请求内容的JSON字符串
带宽-消息内容结构
说明:
1.返回的数据包含开始日期和结束日期
2.带宽的单位为 bps
3.数据(data)只包含有流量的域名
以下是一个返回结果示例
200 OK HTTP/1.1
{
"code": 200,
"error": "",
"time": ["2016-07-01 00:00:00","2016-07-01 00:05:00", ...],
"data": {
"a.com": {
"china": [8888, 9999, 10000, ...],
"oversea": [3333, 4444, 5000, ...],
},
"b.com": {
"china": [8888, 9999, 10000, ...],
"oversea": [3333, 4444, 5000, ...],
}
}
}
另请参阅 http://developer.qiniu.com/article/fusion/api/traffic-bandwidth.html#batch-bandwidth
代码 含义 说明
200 success 成功(OK)
400032 invalid host 请求中存在无效的域名,请确保域名格式正确
400080 invalid start time 开始时间格式错误
400081 invalid end time 截止时间格式错误
400082 invalid time range 时间范围错误,请确保开始时间早于结束时间,且时间范围不超过 30 天
500000 internal error 服务端内部错误,请联系技术支持
错误消息(状态码非OK时)
时间点列表
带宽数居(与时间点列表对应)
数据内容请参见该类型说明
带宽-数据内容
国内带宽数据
海外带宽数据
查询带宽-结果
获取带宽信息
转换为易读字符串格式
便于打印和阅读的字符串
查询流量-请求
起始日期,例如2016-09-01
结束日期,例如2016-09-10
时间粒度((取值:5min / hour /day))
域名列表,以西文半角分号分割
初始化(所有成员为空,需要后续赋值)
初始化所有成员
起始日期
结束日期
时间粒度
域名列表
转换到JSON字符串
请求内容的JSON字符串
流量-消息内容结构
说明:
1.返回的数据包含开始日期和结束日期
2.带宽的单位为 byte
3.数据(data)只包含有流量的域名
以下是一个返回结果示例
{
"code": 200,
"error": "",
"time": ["2016-07-01 00:00:00","2016-07-01 00:05:00", ...],
"data": {
"a.com": {
"china": [8888, 9999, 10000, ...],
"oversea": [3333, 4444, 5000, ...],
},
"b.com": {
"china": [8888, 9999, 10000, ...],
"oversea": [3333, 4444, 5000, ...],
}
}
}
另请参阅 http://developer.qiniu.com/article/fusion/api/traffic-bandwidth.html#batch-flux
代码 含义 说明
200 success 成功(OK)
400032 invalid host 请求中存在无效的域名,请确保域名格式正确
400080 invalid start time 开始时间格式错误
400081 invalid end time 截止时间格式错误
400082 invalid time range 时间范围错误,请确保开始时间早于结束时间,且时间范围不超过 30 天
500000 internal error 服务端内部错误,请联系技术支持
错误消息(状态码非OK时)
时间点列表
流量数居(与时间点列表对应)
流量-数据内容
国内流量数据
海外流量数据
查询流量-结果
获取流量信息
转换为易读字符串格式
便于打印和阅读的字符串
查询日志-请求
日期,例如 2016-09-01
域名列表,以西文半角分号分割
初始化(所有成员为空,需要后续赋值)
初始化所有成员
日期
域名列表(多个域名以;分隔的字符串)
初始化所有成员
日期
域名列表
转换到JSON字符串
请求内容的JSON字符串
日志-消息内容结构
以下是一个返回结果示例
{
"data": {
"log-test1.SOME_TEST.com": [
{
"name":"log-test1.SOME_TEST.com_2016-07-01-00_00.gz",
"size": 88490306,
"mtime": 1466274440,
"url": "http://FUSION_LOG_DOWNLOAD_URL1"
}
],
"log-test2.SOME_TEST.com": [
{
"name":"log-test2.SOME_TEST.com_2016-07-01-00_00.gz",
"size": 73280873,
"mtime": 1466273259,
"url": "http://FUSION_LOG_DOWNLOAD_URL2"
}
]
}
}
///
代码 含义 说明
200 success 成功(OK)
400 invalid params 请求参数格式错误
401 bad token 认证授权失败(包括密钥信息不正确;数字签名错误;授权已超时)
400032 invalid host 请求中存在无效的域名,请确保域名格式正确
500000 internal error 服务器内部错误
错误消息(状态码非OK时)
日志信息(与域名列表对应)
日志信息内容
文件名
文件大小,单位为 Byte
文件修改时间,Unix 时间戳
日志下载链接
查询日志-结果
获取日志列表信息
转换为易读字符串格式
便于打印和阅读的字符串
融合CDN加速-功能模块: 缓存刷新、文件预取、流量/带宽查询、日志查询、时间戳防盗链
另请参阅 http://developer.qiniu.com/article/index.html#fusion-api-handbook
关于时间戳防盗链可参阅 https://support.qiniu.com/question/195128
初始化
账号(密钥)
缓存刷新-刷新URL和URL目录
要刷新的URL列表
要刷新的URL目录列表
缓存刷新的结果
缓存刷新-刷新URL
要刷新的URL列表
缓存刷新的结果
缓存刷新-刷新URL目录
要刷新的URL目录列表
缓存刷新的结果
文件预取
待预取的文件URL列表
文件预取的结果
批量查询cdn带宽
域名列表
起始日期,如2017-01-01
结束日期,如2017-01-02
时间粒度,如day
带宽查询的结果
批量查询cdn流量
域名列表
起始日期,如2017-01-01
结束日期,如2017-01-02
时间粒度,如day
流量查询的结果
查询日志列表,获取日志的下载外链
域名列表
具体日期,例如2017-08-12
日志查询的结果
时间戳防盗链
主机,如http://domain.com
文件名,如 hello/world/test.jpg
请求参数,如?v=1.1
后台提供的key
链接有效时长
时间戳防盗链接
Authentication/Authorization
一般初始化
账号(密钥)
生成管理凭证
有关管理凭证请参阅
http://developer.qiniu.com/article/developer/security/access-token.html
请求的URL
请求的主体内容
生成的管理凭证
生成管理凭证-不包含body
请求的URL
生成的管理凭证
生成上传凭证
上传策略对应的JSON字符串
生成的上传凭证
生成下载凭证
原始链接
生成推流地址使用的凭证
生成流管理凭证
生成管理凭证
有关管理凭证请参阅
http://developer.qiniu.com/article/developer/security/access-token.html
账号(密钥)
访问的URL
请求的body
生成的管理凭证
生成管理凭证-不包含body
账号(密钥)
请求的URL
生成的管理凭证
生成上传凭证
账号(密钥)
上传策略JSON串
生成的上传凭证
生成下载凭证
账号(密钥)
原始链接
生成推流地址使用的凭证
账号(密钥)
URL路径
生成流管理凭证
账号(密钥)
待签数据
MD5算法的3rdParty实现
参考https://github.com/Dozer74/MD5
rotate
num
shift
reverse
table 4294967296*sin(i)
ComputeHash
账户访问控制(密钥)
密钥-AccessKey
密钥-SecretKey
初始化密钥AK/SK
AccessKey
SecretKey
签名/加密
特别注意,不同平台使用的Cryptography可能略有不同,使用中如有遇到问题,请反馈
提交您的issue到 https://github.com/qiniu/csharp-sdk
初始化
账号(密钥)
签名-字节数据
待签名的数据
签名-字符串数据
待签名的数据
附带数据的签名
待签名的数据
附带数据的签名
待签名的数据
签名结果
HTTP请求签名
请求目标的URL
请求的主体数据
HTTP请求签名
请求目标的URL
请求的主体数据
时间戳与日期时间转换
基准时间
时间戳末尾7位(补0或截断)
从现在(调用此函数时刻)起若干秒以后那个时间点的时间戳
从现在起多少秒以后
Unix时间戳
日期时间转换为时间戳
日期时间
时间戳
从UNIX时间戳转换为DateTime
时间戳字符串
日期时间
从UNIX时间戳转换为DateTime
时间戳
日期时间
检查Ctx是否过期,我们给当前时间加上一天来看看是否超过了过期时间
而不是直接比较是否超过了过期时间,是给这个文件最大1天的上传持续时间
上传凭证工具类
从上传凭证获取AccessKey
上传凭证
AccessKey
从上传凭证获取Bucket
上传凭证
Bucket
URL辅助工具(RegExp)
是否合法URL
待判断的url
是否一般URL(不包含?等后缀参数)
待判断的url
是否合法URL目录
待判断的url目录
从原始URL转换为一般URL(根据需要截断)
待转换的url
URL分析,拆分出Host,Path,File,Query各个部分
原始URL
host部分
path部分
文件名
参数
Base64 编码/解码
获取字符串Url安全Base64编码值
源字符串
已编码字符串
URL安全的base64编码
需要编码的字节数据
bucket:key 编码
空间名称
文件key
编码
Base64解码
待解码的字符串
已解码字符串
CRC32计算器
magic
初始化
写入
字节数据
偏移位置
字节数
校验和
校验和
更新
crc32
表
字节数据
偏移位置
字节数
计算字节数据的crc32值
二进制数据
crc32值
检验
字节数据
偏移位置
字节数
计算沙盒文件的crc32值
沙盒文件全路径
crc32值
QINIU ETAG(文件hash)
计算文件hash(ETAG)
文件hash
计算hash值
特别注意,不同平台使用的Cryptography可能略有不同,使用中如有遇到问题,请反馈
提交您的issue到 https://github.com/qiniu/csharp-sdk
计算SHA1
字节数据
SHA1
计算MD5哈希(可能需要关闭FIPS)
待计算的字符串
MD5结果
计算MD5哈希(第三方实现)
待计算的字符串,避免FIPS-Exception
MD5结果
字符串处理工具
URL编码
源字符串
URL编码字符串
URL键值对编码
键值对
URL编码的键值对数据
环境变量-用户路径
找到QHome目录(在用户目录下建立的"QHome"文件夹)
QHOME路径
HTTP 状态码
成功
部分OK
请求错误
认证授权失败
拒绝访问
资源不存在
CRC32校验失败
上传文件大小超限
镜像回源失败
错误网关
服务端不可用
服务端操作超时
单个资源访问频率过高
回调失败
服务端操作失败
资源内容被修改
文件不存在
文件已存在
空间数量已达上限
空间或者文件不存在
列举资源(list)使用了非法的marker
在断点续上传过程中,后续上传接收地址不正确或ctx信息已过期。
自定义HTTP状态码 (默认值)
自定义HTTP状态码 (用户取消)
自定义HTTP状态码 (用户暂停)
自定义HTTP状态码 (用户继续)
自定义HTTP状态码 (需要重试)
自定义HTTP状态码 (异常或错误)
自定义HTTP状态码(文件不合法)
自定义HTTP状态码(凭证不合法)
HTTP 内容类型(Content-Type)
资源类型:普通文本
资源类型:JSON字符串
资源类型:未知类型(数据流)
资源类型:表单数据(键值对)
资源类型:多分部数据
HTTP请求(GET,POST等)的返回消息
状态码 (200表示OK)
消息或错误文本
消息或错误(二进制格式)
参考代码(用户自定义)
附加信息(用户自定义,如Exception内容)
参考信息(从返回消息WebResponse的头部获取)
初始化(所有成员默认值,需要后续赋值)
对象复制
要复制其内容的来源
转换为易读或便于打印的字符串格式
便于打印和阅读的字符串
非法上传凭证错误
非法文件错误
HttpManager for .NET 2.0/3.0/3.5/4.0
初始化
是否允许HttpWebRequest的“重定向”,默认禁止
客户端标识(UserAgent),示例:"SepcifiedClient/1.1 (Universal)"
客户端标识UA
设置自定义的客户端标识(UserAgent),示例:"SepcifiedClient/1.1 (Universal)"
如果设置为空白或者不设置,SDK会自动使用默认的UserAgent
用户自定义的UserAgent
客户端标识UA
多部分表单数据(multi-part form-data)的分界(boundary)标识
分界(boundary)标识字符串
HTTP-GET方法
请求目标URL
令牌(凭证)[可选->设置为null]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-GET的响应结果
HTTP-POST方法(不包含body数据)
请求目标URL
令牌(凭证)[可选]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
HTTP-POST方法(包含body数据)
请求目标URL
主体数据(字节数据)
令牌(凭证)[可选->设置为null]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
HTTP-POST方法(包含body数据)
请求目标URL
主体数据(字节数据)
主体数据内容类型
令牌(凭证)[可选]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
HTTP-POST方法(包含JSON文本的body数据)
请求目标URL
主体数据(JSON文本)
令牌(凭证)[可选]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
HTTP-POST方法(包含普通文本的body数据)
请求目标URL
主体数据(普通文本)
令牌(凭证)[可选->设置为null]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
HTTP-POST方法(包含表单数据)
请求目标URL
键值对数据
令牌(凭证)[可选->设置为null]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
HTTP-POST方法(包含表单数据)
请求目标URL
表单数据
令牌(凭证)[可选->设置为null]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
HTTP-POST方法(包含表单数据)
请求目标URL
表单数据
令牌(凭证)[可选->设置为null]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
HTTP-POST方法(包含多分部数据,multipart/form-data)
请求目标URL
主体数据
分界标志
令牌(凭证)[可选->设置为null]
是否以二进制模式读取响应内容(默认:否,即表示以文本方式读取)
HTTP-POST的响应结果
获取返回信息头
即将被HTTP请求封装函数返回的HttpResult变量
正在被读取的HTTP响应