报错响应大致如下

exception:None, status_code:404, _ResponseInfo__response:<Response [404]>, text_body:{"error":"incorrect region"}, req_id:xxxxxxxxxxx, error:incorrect region, x_log:IO/404

原因是根据空间所在区域不同,七牛的上传域名也不同,华东、华南、华北、北美对应不同的上传域名。指定的上传域名不属于空间所在区域对应的域名导致报错。

七牛的机房上传域名链接

可以单独指定某一域名进行上传,也可以调用v1接口获取该空间对应的上传域名

https://uc.qbox.me/v1/query?ak={ak}&bucket={bucket}

返回的响应格式如下

{"ttl":86400,"http":{"io":["http://iovip.qbox.me"],"up":["http://up.qiniu.com","http://upload.qiniu.com","-H up.qiniu.com http://183.131.7.18"]},"https":{"io":["https://iovip.qbox.me"],"up":["https://up.qbox.me","https://upload.qbox.me"]}
}

或者调用v2接口

https://uc.qbox.me/v1/query?ak={ak}&bucket={bucket}

返回的响应格式如下

{"ttl":86400,"io":{"src":{"main":["iovip.qbox.me"]}},"up":{"acc":{"main":["upload.qiniup.com"],"backup":["upload-nb.qiniup.com","upload-xs.qiniup.com"]},"old_acc":{"main":["upload.qbox.me"],"info":"compatible to non-SNI device"},"old_src":{"main":["up.qbox.me"],"info":"compatible to non-SNI device"},"src":{"main":["up.qiniup.com"],"backup":["up-nb.qiniup.com","up-xs.qiniup.com"]}}
}

然后再选择想要上传的域名。

在七牛sdk里上传域名的选择流程为

  1. 第一次上传调用v1或v2接口
  2. 将结果持久化保存。不同语言有不同的实现方式。例如在本地临时文件夹下创建.qiniu_pythonsdk_hostscache.json json文件并保存(python);或者创建类buildFromUcRet保存上传值(java);或者赋值给类里的某个属性(php)。
  3. 下次再次上传,优先从持久化的地方读取上传域名。

因此,如果使用最新sdk出现该报错,可以从json文件或者变量中查看上传域名是否属于自己空间所在区域。如果不符合,检查sdk版本,重启程序或删除临时文件。

ps:

python获取临时文件目录的方法

import tempfile
print(tempfile.gettempdir())

使用七牛的sdk上传报错:incorrect region相关推荐

  1. php大图片接口上传慢,七牛php sdk上传文件太慢

    问题描述 上传同一个文件(32kb)有时候需要2s,但有时候需要11s,上传速度太不稳定,且太慢. 上传的过程是由前端上传文件到后端php(使用yii2框架)的接口,由php调qiniu的sdk上传方 ...

  2. 七牛云 转码_七牛云存储 - 七牛 php sdk 上传 转码 问题

    实在是不会用 sdk 呀 都蒙圈了 求大神 指点 vendor('Qiniu.io'); vendor('Qiniu.rs'); $bucket = 'icunzai-voice'; $key = $ ...

  3. 使用百度webuploader上传组件直接上传到七牛云表单上传

    上一节我们已经讲过了使用表单上传,这一节我们来讲一下使用webuploader来进行异步上传到七牛云服务器. 点击查看,七牛云表单上传 1.引入webuploader的js和样式表 2.写js代码 其 ...

  4. arduino Pro Mini和nano​替代芯片LGT8F328P,上传报错Cannot run program解决方法

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 最近在群里听说了LGT8F328P,搞了这么久的DIY,居然才知道这个国产的神奇芯片 ...

  5. ajax文件上传报400,js ajaxfileupload.js上传报错的解决方法

    相信大家在工作中经常用到文件上传的操作,因为我是搞前端的,所以这里主要是介绍ajax在前端中的操作.代码我省略的比较多,直接拿js那里的 $.ajaxFileUpload({ url:'www.cod ...

  6. Springboot文件上传报错:failed to convert java.lang.String to org.springframework.util.unit.DataSize

    springboot2.1.2版本文件上传报错,我上传的是一个18M的音频,默认的配置应该是超过10M的文件就会报错,所以我将配置修改为: spring:servlet:multipart:enabl ...

  7. springboot文件上传报错:Required request part ‘file‘ is not present

    文件上传报错:Required request part 'file' is not present 如下使用CommonsMultipartResolver: @Configuration publ ...

  8. 蜻蜓短视频系统-文件上传之本地上传报错问题解决-蜻蜓Q蜻蜓s蜻蜓系统上传采用本地上传报错Class ‘League\Flysystem\Adapter\Local‘ not found

    蜻蜓短视频系统-文件上传之本地上传报错问题解决-蜻蜓Q蜻蜓s蜻蜓系统上传采用本地上传报错 蜻蜓系统有本地上传方式和云储存上传方式,云方式比较常用是不会有错的,本地上传方式可能会遇到这样的报错. 报错1 ...

  9. android七牛多张图片上传

    将多张图片上传到七牛,需要一张张上传 七牛android SDK使用指南http://developer.qiniu.com/code/v7/sdk/android.html 将图片上传到七牛服务器的 ...

最新文章

  1. [Web API] 如何让 Web API 统一回传格式以及例外处理[转]
  2. Apache访问日志切割
  3. 【译】The missing explanation of Proof of Stake Version 3
  4. QT绘制嵌套的圆饼状图
  5. springmvc执行流程(简述易懂)
  6. 为您的软件系统设计选择最佳的工具
  7. 关于边缘计算,那些不边缘的“术”与“道”
  8. php如何把图片存入oracle,在PHP中将图片存放ORACLE中
  9. 《Reids 设计与实现》第十四章 集群(上)
  10. Flask-WTF CSRF 保护P3
  11. FIT 2019 | 安全人员面临的机遇与挑战
  12. sql loader
  13. appium和airtest_Airtest自动化测试工具
  14. 苹果x和xs买哪个好_iPhone XS和iPhone XR买哪个好?苹果XR和XS区别对比测评
  15. JavaScript — DOM API
  16. 天基实业个人投资理财选择优质项目最为重要
  17. windows下的./ 和 ../
  18. 一分钟学会手工注册BHO
  19. Vue table 点击按钮展开折叠面板
  20. 数通运营商方向常见面试问题(第三部分)

热门文章

  1. 并发编程 — AtomicStampedReference 详解
  2. Vue启动本地(.exe)文件
  3. 【2016-05-09】程序员的日常:咖啡
  4. [BZOJ4399]魔法少女LJJ(线段树合并)
  5. UltraISO 9安装教程
  6. 算法设计与分析 SCAU17964 水桶打水
  7. 基于物联网流量指纹的安全威胁轻量级检测方法
  8. 美国第一个设置计算机的学校,美国计算机专业院校
  9. UbuntuWindows 双系统时间不同步,Windows 慢8个小时
  10. 深度丨从零搭建推荐体系