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

问题描述

上传同一个文件(32kb)有时候需要2s,但有时候需要11s,上传速度太不稳定,且太慢。

bVbk9hy?w=2536&h=846

上传的过程是由前端上传文件到后端php(使用yii2框架)的接口,由php调qiniu的sdk上传方法。经过排查,前端上传文件到php后端所在的服务器时间很短在几百毫秒内,可忽略不计。想问一下为何上传到七牛的过程这么慢,如何解决这个问题,因为系统快要使用,所以还对上传这个事情还比较急。

问题出现的环境背景及自己尝试过哪些方法

排查过前端上传文件到服务端的时间不慢,也排查过网速。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

/**

七牛云存储组件

*

*/

namespace appcommoncomponents;

use Yii;

use yiibaseComponent;

use QiniuAuth;

use QiniuStorageUploadManager;

class Qiniu extends Component

{

public $accessKey;

public $secretKey;

public $auth;

public $defaultBucket;

public $privateBucket;

public $cdnHos

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用七牛云的 JavaScript SDK上传文件的方法如下: 1. 引入 SDK: ```html <script src="https://cdn.staticfile.org/plupload/2.3.6/plupload.full.min.js"></script> <script src="https://cdn.staticfile.org/qiniu-js/1.0.24-beta/qiniu.min.js"></script> ``` 2. 配置七牛云参数: ```javascript var config = { useCdnDomain: true, // 是否使用 CDN 加速域名 region: qiniu.region.z2, // 上传域名区域 uptokenURL: '/api/uptoken', // 获取上传凭证的后端接口 domain: 'http://yourdomain.com/', // 域名,即访问上传的文件时使用的地址 container: 'upload-container', // 上传控件的容器 ID maxFileSize: 10 * 1024 * 1024, // 最大文件大小,单位为字节 chunkSize: 4 * 1024 * 1024, // 分块上传时每块的大小,单位为字节 autoStart: true // 是否自动开始上传 }; ``` 3. 创建上传实例: ```javascript var uploader = Qiniu.uploader({ runtimes: 'html5,flash,html4', browse_button: 'select-file', // 选择文件按钮的 ID ...config, // 将七牛云参数传入 init: { // 上传状态改变时的回调函数 'StateChanged': function(up) { if (up.state === plupload.STARTED) { console.log('上传中'); } else if (up.state === plupload.STOPPED) { console.log('上传停止'); } }, // 文件添加到上传队列时的回调函数 'FilesAdded': function(up, files) { // 遍历文件列表,处理每个文件 plupload.each(files, function(file) { console.log('文件名:' + file.name + ', 文件大小:' + plupload.formatSize(file.size)); }); }, // 上传成功时的回调函数 'FileUploaded': function(up, file, info) { var res = JSON.parse(info.response); // 解析上传成功后返回的数据 console.log('文件上传成功,访问地址为:' + config.domain + res.key); }, // 上传出错时的回调函数 'Error': function(up, err, errTip) { console.log('上传出错:' + errTip); } } }); ``` 4. 开始上传: ```javascript uploader.start(); ``` 以上就是使用七牛云的 JavaScript SDK 上传文件的方法。需要注意的是,上传文件需要先获取上传凭证,可以通过调用七牛云的 API 接口来获取,也可以使用 SDK 中提供的 `uptokenURL` 参数来指定后端接口获取。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值