PicUploader: 各图床获取上传图片参数的方法
Table of Contents
(本文是PicUploader: 一个还不错的图床工具的子文章)
七牛云
1、接入七牛云需要的参数
以下是接入七牛云需要的参数,注册的时候留意一下这些参数在哪里能找到:
AppKey
、AppSecret
:这两个是一对,就好像账号与密码一样;bucket
:云存储空间名称,一般叫“桶”,也可直接叫bucket
;domain
:外链域名
2、注册七牛云
- 七牛云地址:https://www.qiniu.com
- 注册时,选择『个人账户』,注意姓名一定要真实姓名,因为后面要实名认证,『输入个人网站』一栏可以输入你自己的博客地址(不一定要自己搭的,比如博客园的也行),或者干脆随便输一个也行。
- 注册后上传手持正反面身份证照片上传进行实名认证,你上传的照片没问题的话,最多三天,最少可能一两小时即可认证通过。
- 实名认证通过后你会收到一封邮件,邮件里有说免费额度
3、获取密钥
进入七牛云管理控制台,选择右上角的头像→密钥管理:
下图的AK和SK即为配置文件中的AK
和SK
值:
4、新建存储空间
- 实名认证通过后,选择『新建存储空间』,存储空间就是上面据说的参数
bucket
:
-
点击『内容管理』,现在你可以在这里手动上传图片试试了,注意这里有个『外链默认域名』,也就是第1点提到的domain参数
5、添加域名
由于七牛云的默认域名30天后会被回收,所以你必须添加自己的域名,并且自己的域名还必须是备案过的,而备案一个域名又需要有一个自己的网站,因为域名是用来访问网站的,没有网站而给域名单独备案是没有意义的,所以不存在单独给域名备案的情况,一定要有对应的个人网站,如果你没有个人网站或者你网站在国外服务器上是无法备案的,那么请放弃七牛云吧,或者跟朋友要一个备案过的子域名来用也行。
选择融合CDN
→域名管理
→添加域名
(这个添加的域名就是配置文件中的domain
值):
按下图填写:
继续填写,其他保持默认即可:
5. 完成
到这里我们已经拿到了AppKey(AK)、AppSecret(SK)、bucket、domain四个参数了,拿着这些参数就可以接入七牛云使用它的对象存储功能了,注意这个domain值不能不填,必须填,因为七牛没有长期可用的默认域名。
腾讯云
1、接入腾讯云需要的参数
appId、secretId、secretKey、bucket、region、domain
2、注册腾讯云
点击前往腾讯云,一般使用QQ号或微信号登录即可。
3、获取Appid和密钥
进入控制台,点击右上角自己的账号→访问管理
:
点击API密钥管理
:
它会问你是否使用子账户,由于我只是个人使用,所以我直接选择继续使用
,也就是我不使用子账户:
点击新建密钥
即会自动产生一个密钥,此时你就能看到配置文件中的AppId
、SecretId
、SecretKey
这三个值,填到配置文件中:
4、创建存储桶
点击云产品
→对象存储
:
创建一个存储桶
创建后,配置文件中的bucket
和region
值就在这里:
5、完成
到这里,我们已经拿到了appId、secretId、secretKey、bucket、region值,而domain的话,我们可以不填(留空),不填会自动使用默认腾讯云给的默认域名,填了就会使用填的域名。
网易云
1、接入网易云需要的参数
accessKey、accessSecret、bucket、endPoint、domain。
2、注册网易云
点击前往网易云,请自行注册并认证。
3、获取密钥
进入网易云控制台,点击右上角用户名
→AccessKey
:
创建一个AccessKey
,配置文件中的accessKey
及accessSecret
值就在这里:
4、创建存储桶
云产品
→云计算基础服务
→对象存储
:
点击桶管理
→创建桶
,创建之后,这里的“桶名称”就是配置文件中的bucket
要填的值:
点击桶名→选择域名管理
,如下图所示,外网的endpoint值,即为配置文件中的endpoint
值:
5、完成
至此我们已经拿到了accessKey、accessSecret、bucket、endPoint参数,至于domain,可以不填,如果填了就会使用填的,不填会自动使用默认的。
百度云
1、接入百度云需要的参数
accessKeyId、secretAccessKey、endpoint、bucket、domain
2、注册百度云
点击前往百度云,请自行注册并认证。
3、获取密钥
进入百度云控制台,点击右上角头像→安全认证
:
创建一个AccessKey
,即可得到配置文件中的accessKeyId
和secretAccessKey
参数,
4、创建存储桶
总览
→产品服务
→存储和CDN
→对象存储BOS
:
创建一个存储桶(即bucket),配置文件中的bucket参数就是你自己取的bucket名:
而endpoint
参数只在文档里有说明:Bucket管理,目前就三个:
– 北京区域:http://bj.bcebos.com
– 广州区域:http://gz.bcebos.com
– 苏州区域:http://su.bcebos.com
5、完成
至此我们已经拿到了accessKeyId、secretAccessKey、endpoint、bucket参数,至于domain可以不填,不填会自动使用默认的域名,填了就会使用填的域名。
京东云
1、接入京东云需要的参数
key、secret、endpoint、region、bucket、domain
2、注册京东云
点击前往京东云,请自行注册。
3、获取密钥
进入京东云控制台,点击左上角用户名→Access Key管理
:
配置文件中的key
和secret
参数就是这里的Access Key ID
和Access Key Secret
:
4、创建存储空间
选择产品
→对象存储
:
空间管理→新建空间,这里的“空间名称”就是配置文件中的bucket
值:
点击“空间名称”进入以下界面,配置文件中的endpoint
值就在这里,另外配置文件中的region
值即为endpoint中“s3”后面的“cn-south-1”,创建bucket选择的地域不同,这个值可能会有所不同:
5、完成
key、secret、endpoint、region、bucket,至于domain可以不填,不填会自动使用默认的域名,填了就会使用填的域名。
阿里云
1、接入阿里云需要的参数
accessKey、accessSecret、bucket、endpoint、domain
2、注册阿里云
点击前往阿里云,请自行注册。
3、获取密钥
进入阿里云控制台,点击右上角用户名→accesskeys
:
然后它会问你是否要使用子账户,由于我是个人使用,所以不使用子账户,直接选择继续使用AccessKey
:
然后创建一个AccessKey
,配置文件中的accessKey
和accessSecret
参数就在这里:
4、创建存储桶
选择产品与服务
→对象存储OSS
:
创建一个bucket,即可获取到bucket
、endpoint
两个参数的值并填入配置文件中:
5、完成
至此我们已经拿到了accessKey、accessSecret、bucket、endpoint参数,至于domain可以不填,不填会自动使用默认的域名,填了就会使用填的域名。
又拍云(Upyun)
1、接入又拍云需要的参数
serviceName、operator、password、domain
2、注册又拍云
- 点击前往注册又拍云
-
实名认证,但由于我已经实名认证了,我没法截图,网上也很难找到截图,我找了一张很模糊的,不过还是能看清的:
认证方式:支付宝芝麻信用有700分以上选支付宝芝麻信用认证,没有的话选人工(选人工应该要上传手持身份证的照片)
所属行业:我的是博客,所以我选的是门户网站
→博客
网站/产品:就填你的网站名称(暂时没有就随便想一个)
网站地址:写你自己搭建的博客域名,没有的话用csdn,博客园,新浪博客之类的博客地址,再没有的话好像也可以不写
个人名称:写你的姓名(跟身份证要一样)
身份证号码:如实填写,否则无法通过实名认证
3、创建存储桶(又拍云里叫服务)
-
点击右上角
控制台
-
选择
云产品
→云存储
:
-
点击右上角创建服务:
-
按下图填写信息并创建,上面说了,要上传图片到又拍云需要四个参数,这里面已经有serviceName、operator、password三个参数了,注意把这些参数记下:
-
创建完服务点击保存后,可以看到你创建好的服务,其中有一个
加速域名
,这个即是“domain参数”,这样四个参数都已经得到了,然后你就可以填写到配置文件中使用了!
-
测试是否能正常使用
下载fileZilla,然后按下图填写配置:
其中,host是这个:v0.ftp.upyun.com
-
如果能连上,那就说明没问题,如果不能连上,请查看右上角用户名→账户管理
- 然后点击
操作员
→授权
→管理
,查看是否已经给了这个操作员权限,如果没有给,则给它加上权限,然后再试,应该就没问题了
2020.04.06增加:现在又拍云网页上已经有文件管理了,不用ftp工具了(当然你要用也可以):
4、申请又拍云联盟
申请又拍云联盟可以获取每月10G存储空间+15G流量免费额度(这个链接里就有告诉你怎么申请)
- 主要就是要在自己网站上放一个又拍云logo(并且点这个logo可以跳转到又拍云官网),位置的话,你可以放在网站底部,或者放在你觉得可以放的地方都可以,不限制位置,而且它的logo有各种不同的大小,样式,颜色等,你选一个适合自己网站的即可:
-
放完logo后点上图第3步中的『立即申请』即可。
5、完成
至此,你已经拿到了serviceName、operator、password、domain四个参数了,其中domain可以不填,不填会默认使用又拍云的默认域名,填了就会使用填的域名,如果你自己添加过域名,那么就必须填了。
注意:请不要开启全球cdn,开国内的就可以,国外cdn超贵。
sm.ms
PicUploader默认图床为sm.ms,不需要参数也可以上传(匿名上传),如果有token,则上传的图片能在sm.ms后台中看到。
生成Token
进入sm.ms,注册登录后,点击右上角的User
→Dashboard
:
点击API Token
→Generae Secret Token
:
- 注意sm.ms单张图片不能超过5M,但由于我有做压缩,一般不会超过5M,如果上传后粘贴没有内容或者报错,请查看日志,很有可能是这张图片压缩后超过了5M,或者图片是超过5M的gif图(gif图不压缩)
- sm.ms的域名为“https://sm.ms”,经过测试,在国内(不含港澳台)使用sm.ms时好时坏,除非开科学上网,否则不稳定,如果小齿轮一直转个不停,基本上就是上传失败超时了。
- 设置代理:可以上传的情况下不建议设置代理,如果上传超时、报错,则设置代理试试,直接在配置文件填写代理的ip+端口即可,如(127.0.0.1:1087),不过设置代理后上传速度会稍慢(具体快慢取决于你的代理速度)
Imgur
- 1、Imgur必须使用代理(科学上网)才能访问;
- 2、有人发邮件问过,说放这里的图半年后就会失效,所以可能只适用于临时图片,具体我没有试过。
1、Imgur需要的参数
Imgur只需要一个参数:clientId
。
2、注册Imgur
请自行注册Imgur:https://imgur.com/register并登录。
3、获取参数
- 点击addclient创建Application:
上图提交后,就能拿到clientID和clientSecret:
- 以后登录的时候需要查看clientID和clientSecret,可以点击右上角的用户名→点击下拉菜单中的settings→点击applications,就能看到。
4、上传到相册
Imgur的相册虽然可以使用接口创建,但无法根据相册名区分相册是否存在,所以就没做自动创建相册功能,否则会创建出一堆名字相同的相册,如果你想把图片上传到某一个相册,需要自己在Imgur那边创建好相册,再把相册ID(albumId)填到PicUploader中的Imgur配置中的albumId
中。
进入Imgur,登录后,点击“右上角用户名”→点击下拉菜单中的“Images”
再点击“All Images”→点击“New Album”创建相册(它会弹出一个框让你填相册标题和描述):
创建相册后,在页面任意地方右击→点击右键菜单中的“inspect(审查元素)”→会弹出一个界面,我们叫控制台→选中控制台中的“Element(元素)”:
根据下图的方法找到albumId,并填入PicUploader后台的albumId
中,这样以后上传照片就会上传到这个albumId对应的相册下:
Ucloud
1、接入Ucloud需要的参数
publicKey、privateKey、proxySuffix、bucket、endPoint、domain
2、注册Ucloud
点击前往注册Ucloud,请自行注册并认证。
3、获取密钥
进入控制台,点击右上角头像
→API 密钥
→点击显示
即可看到publicKey
和privateKey
。
4、创建存储空间
创建存储空间时,如下图,“存储空间域名”里,你自己填的部分就是bucket
参数值,后面部分就是proxySuffix
参数值(注意是.
开头的)
创建存储空间之后,在列表里看也是一样的,自己填的那部分是“bucket”参数值,剩下的部分就是“proxySuffix”参数值:
点击存储空间名,选择域名管理
,如下图的值即为domain值,如果你没有添加自定义域名,这个domain值你不用添加到配置文件中,程序会自动使用默认域名,如果添加了自定义域名,就要把自定义的域名填写到配置文件中:
5、完成
至此,我们已经拿到了publicKey、privateKey、proxySuffix、bucket,而endPoint是固定的,我们直接使用.ufile.ucloud.com.cn
作为endPoint值,其实就是上边的domain值除去bucket名部分,比如我的domain为blog-markdown.ufile.ucloud.com.cn
,bucket名为前面的blog-markdown
,剩下的.ufile.ucloud.com.cn
部分即为配置文件中需要的endPoint
值。
青云(QingCloud)
1、接入青云需要的参数
accessKeyId、secretAccessKey、bucket、zone、domain
2、注册青云
3、获取密钥
进入控制台,点击右上角的用户名,选择API 密钥
→点击创建
,输入一个名称,比如Accesskey
,这个名称是随意输入的,描述可以不写:
点击确定后,会弹出以下框,它会让你下载一个叫access_key.csv
的文件:
里面的两个key,即为配置文件中要填的accessKeyId
与secretAccessKey
:
4、创建存储空间
选择一个区域(每个区域都可以创建一个对象存储):
然后选择存储
→对象存储
然后创建bucket(名字自己随便取,就是创建一个存储空间的意思):
创建后,Url中你的bucket名后面的那个即为配置文件中要使用的zone
值,比如北京是pek3b
:
广东的是gd2
:
5、完成
至此我们已经拿到了accessKeyId、secretAccessKey、bucket、zone参数,而domain可以不填,不填会自动使用默认域名,如果你自己添加过域名,那么就必须填你添加的域名。
Nextcloud
1、Nextcloud的一些参数
Nextcloud主要填三个参数:baseUri / username / password,baseUri就是访问你的nextcloud的域名,比如你是通过https://nextcloud.example.com
来访问你的nextcloud的,那你就把这个地址填到baseUri中就行,username和password就是登录你nextcloud的用户名和密码。
2、关于Nextcloud上传
nextcloud为自建云网盘,并非对象存储,根据我目前的了解,NextCloud并不支持递归创建文件夹,也就是说,上传创建一个文件,如果要带路径,那么路径中的文件夹必须已经存在,如果不存在则要先创建,而文件夹创建一样不支持递归创建,所以得一级一级创建,并且创建之前我还得知道这个文件夹是否存在,所以Nextcloud上传文件,程序的实际步骤为:
– (请求一次接口)从服务器拉取现有文件列表,可指定深度,比如指定5级深度,则/a/b/c/d/e/f中的f是不会被列出来的,文件列表是递归列出的,比如有一个文件在/a/b/c/test.jpg
,则列出的文件列表为:
/a/
/a/b/
/a/b/c/
/a/b/c/test.jpg
我得把要上传的文件路径,与这个列表比对,看看要上传的文件夹是否存在,如果不存在,我必须从父到子挨个创建,比如上面说的就要调用三次创建目录接口,一次文件上传接口。
上传完后并不会给你返回分享链接,因为它本身是一个网盘,要获取公共访问链接,还要请求接口,把它设置为公共分享,它才会返回分享的链接。
所以,往Nextcloud上传文件,假设上传的目录存在的情况下,要请求的接口次数为:获取文件列表一次+上传文件一次+设置公共分享一次=3次,而如果文件要上传的目标文件夹不存在,又要看文件夹哪几层不存在,假设有三层,三层都不存在,那创建文件夹就要请求3次,加上前边固定的3次那就是请求6次,而每请求一次接口都需要一定的时间,所以上传会比较慢,建议不要自动创建文件夹了,这样就只要请求3次接口就可以获得链接了。
Github
1、接入Github需要的参数
接入github需要的参数有:repo、branch、message、access_token。
2、注册github
点击前往Github,请自行注册。
3、获取access_token
点击右上角自己的头像→Settings
→选择左侧菜单的最后一项Developer Settings
→选择Personal access tokens
→点击Generate new token
→它会跳转让你输入github的登录密码→生成token成功。
4、创建存储仓库
Github做图床,首先要创建一个仓库:点击Github右上角的+
号→New repository
→输入仓库名即可创建仓库。
如下图,就是一个github仓库,它的仓库名称为xiebruce/PicUploader
(对应配置中的repo
参数),当前分支名称是master
(对应配置中的branch参数):
配置中的“message”:
删除github中的文件:
5、完成
至此,我们已经得到了repo、branch、access_token,而message只是提交后显示的备注信息,自己喜欢用什么备注信息可以自己写,至于directory,它是存储目录,留空就存到根目录下,可以自己写类似images/travel/Turkey
这样的多级目录作为存储目录,域名可以不填,不填会使用默认域名,填了会使用填了的域名(主要用于自己做了nginx反向代理提供统一的域名)
码云(Gitee)
与github完全一样的操作,只是英文界面变成了中文界面,界面略有不同而已!
码云的单个仓库最大容量为1G,总仓库容量为5G,也就是你用码云做图床的话,有5个G的免费容量,并且码云的优势在于“国产服务速度快”!
但码云有一个致命缺点,超过1M的图片要登录后才可查看,也许这就是网上基本上没有人用码云做图床的根本原因吧!但是一般截图经过压缩后也不会超过1M,所以其实还是可以用用的。
Cloudinary
1、Cloudinary需要的参数
Cloudinary需要三个参数:cloudName
、apiKey
、apiSecret
。
2、注册Cloudinary
点击SIGN UP TO CLOUDINARY进入注册页面,填写相关信息,点击CREATE ACCOUNT
创建:
创建后邮箱会收到一封验证邮件,点一下验证链接验证一下即可。
3、获取参数
超级简单,登录就能看见这三个参数:
Chevereto
1、接入Chevereto的参数
accessKey
:Chevereto接口密钥siteUrl
: Chevereto图床域名,可能是你自己搭建的,也可能是你使用第三方别人提供的服务,这个域名用于上传时请求接口。domain
: 也是域名,但这个域名是用于返回链接时使用的,如果留空,则会使用siteUrl作为域名,如果不为空,则会用domain替换siteUrl。
2、获取参数
先登录你搭建好的chevereto,然后获取accessKey参数方法如以下截图所示:
这里的这个API v1 key就是我们要的值:
siteUrl,就是你自己搭建的Chevereto网站的域名,比如:http://www.mysite.com。
最后一个参数是domain,这个参数用于填写统一域名,比如你的Chevereto域名虽然是http://www.mysite.com,但是你想设置你的图片访问域名为:http://img.mysite.com,并且用nginx之类的把http://img.mysite.com反向代理到http://www.mysite.com,domain为空时,返回的图片地址域名为siteUrl,不为空时,domain会替换siteUrl。
另外,必须设置“网站的隐私模式”为“访客模式”,不能设置为“仅注册用户”,否则无法上传,设置方法:登录后点击右上角的用户名→仪表盘→设置→滚动到最后,即可看到“网站的隐私模式”选项,把它设置为“访客模式”即可。
AWS S3
1、AWS S3需要的参数
AccessKeyId
、AccessKeySecret
,这是密钥对,这个就不用多说了,基本上都是这种验证模式;region
: 区域;bucket
: bucket名;
其它参数是非必须。
2、获取AccessKeyId和AccessKeySecret
进入AWS管理控制台,点击右上角的用户名→“我的安全凭证”:
点击“访问密钥(访问密钥 ID 和秘密访问密钥)”→“创建新的访问密钥”:
点击“显示访问密钥”(截图里是“隐藏访问密钥”,因为我已经显示了,没显示的时候按钮是“显示访问密钥”),直接复制到PicUploader后台对应区域就行,下载不下载都无所谓了:
“访问密钥 ID”就是PicUploader配置中的:AccessKeyId
“私有访问密钥”就是PicUploader配置中的:AccessKeySecret
3、创建存储桶
进入AWS S3控制台,点击“创建存储桶”:
按下图填写(这一步能得到bucket
和region
参数):
点击刚刚创建的存储桶(即bucket):
点击权限
→访问控制列表
→Everyone
→勾选右侧的列出对象
→右下角点保存
:
至此创建完成,现在你可以使用PicUploader来上传文件到AWS S3的这个存储桶中了。
Minio
主要参数是:AccessKeyId、AccessKeySecret、region、bucket,其中endpoint
就是访问你的Minio的域名,而其它参数都是在Minio的配置文件指定的,所以可以在配置文件中找到,详见:
CentOS7搭建对象存储服务器minio(类似阿里云的OSS或Aws S3)
华为云
1、获取密钥对
点击这里进入华为云控制台,点击右上角用户名
→我的凭证
→点击页面左侧的访问密钥
→点击新增访问密钥
,新增后就得到了accessKey
和secretKey
:
2、创建存储桶
点击华为云对象存储后台,点击右上角的创建存储桶
:
按下图填写
点击创建好的桶
往下滚动一点,就能看到Endpoint
参数:
金山云
1、获取密钥
点击这里进入金山云控制台,点击右上角的用户名→accesskeys
:
点击AK密钥
→新建密钥
:
它会弹出提示,由于我们是自己使用,所以不用创建子账号,直接点击“继续使用”即可:
然后会显示新建AccessKey成功,点击下载:
下载的文件叫accesskey.txt
,里面的“访问密钥ID”就是PicUploader后台要填的“accessKey”,而“私有访问密钥”就是PicUploader后台要填的“accessSecret”。
2、创建存储空间
点击ks3进入金山对象存储控制台,点击“创建空间”
按下图填写,其中“空间名称”就是PicUploader后台的bucket
参数:
点击一下刚刚创建的空间,就能在右侧看到“外网域名”:
比如我这边外网域名就是:
imagebed.ks3-cn-beijing.ksyun.com
仔细看,它其实是:空间名+“.”+“ks3-cn-beijing.ksyun.com”,而其中“ks3-cn-beijing.ksyun.com”就是PicUploader后台需要的endpoint
参数,也就是把外网域名里的空间名及它后面的点去掉,剩下的部分就是需要填到PicUploader后台的endpoint
里的参数。
Dropbox
1、创建一个app
点击Create a new app创建一个新的
2、获取AppKey和AppSecret
接上一步,继续填:
上边切换到Branding,按下图填一下就可以,其实这里貌似不填也行:
Publisher: BruceXie
Description: This is an application to upload files to dropbox
App website: https://www.xiebruce.top/17.html
最后保存配置即可。
Gitlab
获取personal access token
登录后点击右上角头像→下拉菜单中的Settings
→左侧栏的Access Tokens
→在右侧页面中填写token名称,选择失效日期,Scopes勾选api
,往下滚动找到Create personal access token
,点击它即可创建,创建后把这个token复制到PicUploader配置的相应位置。
获取其它参数
按如下图可获取projectId
和repo
参数的值
baseUri
: 你的gitlab的域名
message
: 提交备注(建议默认就行)
branch
: 默认master,你可以填其它的名称,不存在会自动创建
directory
: 存储目录,不存在会自动创建
domain
: 反代域名,如果未使用反代就留空
Coding.net
获取访问令牌(access_token)
右上角头像→个人设置→访问令牌→新建令牌
获取group(团队名)
登录coding.net后,它的域名是:xxxx.coding.net
形式的,其中的”xxxx”就是团队名(即配置里的group值就填这个)
获取username和project
先点击我的项目中的某个项目
在项目概览的右侧有个“xxxx / yyyy”形式的,其中的“xxxx”就是username
,而“yyyy”则是project
,如下图所示
注意:千万不要使用个人设置里的用户名,那个用户名并不是我们需要的。
Azure DevOps
请查看:通过PicUploader上传文件到微软Azure DevOps
OneDrive
请查看:通过PicUploader上传文件到微软OneDrive网盘
感谢博主回复,能够使用了!另外想问一下有没有试过内网穿透(因为没有公网IP也没有云服务器),我使用cpolar内网穿透,报错404,原因包括文件权限不够防火墙等,我逐个排查了没有找到原因,这个问题有解决办法吗?
怎么个404?是访问后面页面404还是访问图片404?你有试过不用内网穿透,直接在内网去连可以用吗?在内网状态下一切正常吗?只有内网调正常了,你才能再考虑内网穿透的问题
非常详细的教程,感谢博主!!使用本地服务器如何配置,目前可以在http://127.0.0.1:80看到界面,但是上传图片后显示’Please make sure that prefix directory exists.‘请问如何设置prefix文件夹位置?感谢!
界面左侧有四个图标,从上往下数第三个“云”,在里面找到“本地服务器”,里面就有个prefix参数,这是“前缀”的意思,意思就是你所有文件都上传到这个文件夹下边,需要填绝对路径
七牛云无法上传,提示:
2020-05-16 12:38:27(Qiniu) => Qiniu\Http\Error::__set_state(array(
‘url’ => ‘http://’,
‘response’ =>
Qiniu\Http\Response::__set_state(array(
‘statusCode’ => -1,
‘headers’ =>
array (
),
‘body’ => NULL,
‘error’ => ”,
‘jsonData’ => NULL,
‘duration’ => 0.0,
)),
))
是第一次配置就不能上传吗?还是用着用着突然不能?如果是第一次,可以把配置截图贴出来我看看(把secert打一下码就行,可以上传到https://sm.ms,再把图片链接放这里)。
如果是以前用着现在突然不行的,试试连手机热点能传不(如果是笔记本的话)?
第一次就不能
你是不是贴错图了?要贴出你七牛云的配置看看呀
贴好了。
另外,上传又拍云的图片,不能找到历史记录,我明天再看看是不是我部署代码
1、单从这里是看也没看出什么问题,因为我这边上传没有任何问题,另外我已经更新了sdk了,你再更新一次,看看能解决问题不?
2、其实如果是笔记本的话,我建议手机开个热点给笔记本连,然后上传个小文件试试,如果可以,那就是七牛的sdk有问题,因为可能在你那里的网络环境,刚好让它获取不到要上传的目标服务器的域名,你看你报错里,
‘url’ => ‘http://’,
这url根本没有,没有的话怎么能上传呢,但这又不是我程序问题,因为我只是调用一下sdk。3、不知道你是不是做php的?我查到这个文件里有返回 statusCode=-1的情况
vendor/qiniu/php-sdk/src/Qiniu/Http/Client.php
,在它里面找到public static function sendRequest($request){
这个函数,然后在这个函数里搜索-1
就能搜索到,就是这行:$r = new Response(-1, $duration, array(), null, curl_error($ch));
,你可以看看是什么问题。多谢,我今天看下,也更新下,然后给你回复