> 백엔드 개발 > PHP 튜토리얼 > PHP 드래그 앤 드롭으로 Qiniu Cloud에 이미지 업로드

PHP 드래그 앤 드롭으로 Qiniu Cloud에 이미지 업로드

*文
풀어 주다: 2023-03-18 08:30:02
원래의
2266명이 탐색했습니다.

OSS 객체 스토리지는 안전하고 저렴하며 신뢰성이 높은 클라우드 스토리지 서비스입니다. 이 기사에서는 Qiniu Cloud Storage와 결합된 이미지 업로드를 예로 들어 OSS 스토리지 기능을 구현합니다.

php Qiniu 클라우드 설치

작곡가를 사용하여 설치

#安装 
Composer curl -sS https://getcomposer.org/installer | php
#使用 Composer 获取最新版本的 Qiniu SDK 
php composer.phar require qiniu/php-sdk
#代码中 require Composer生成的 autoloader
<?php
    require &#39;vendor/autoload.php&#39;;
로그인 후 복사

php Qiniu SDK

<?php
    require_once &#39;./vendor/autoload.php&#39;;
    // 引入鉴权类
    use Qiniu\Auth;
    // 引入上传类
    use Qiniu\Storage\UploadManager;
    // 需要填写你的 Access Key 和 Secret Key
    $accessKey = &#39; Access Key &#39;;
    $secretKey = &#39; Secret Key&#39;;
    // 构建鉴权对象
    $auth = new Auth($accessKey, $secretKey);
    // 要上传的空间
    $bucket = &#39;test&#39;;
    // 生成上传 Token
    $token = $auth->uploadToken($bucket);
    // 初始化 UploadManager 对象并进行文件的上传
    $uploadMgr = new UploadManager();
    if($_FILES){
        $key = $_FILES["file"]["name"];
        // 调用 UploadManager 的 putFile 方法进行文件的上传
        list($ret, $err) = $uploadMgr->putFile($token, $key, $_FILES["file"]["tmp_name"]);
        if ($err !== null) {
            var_dump($err);
        } else {
            $data[&#39;code&#39;] = 1;
            $data[&#39;message&#39;] = &#39;success&#39;;
            $data[&#39;img_url&#39;] = &#39;http://7xplx9.com1.z0.glb.clouddn.com/&#39;.$ret[&#39;key&#39;];
            $data[&#39;markdown_img&#39;] = &#39;[站外图片上传中……(2)]&#39;; //markdown的图片加载格式
  
            exit( json_encode($data));
        }
    }
로그인 후 복사


html 업로드 페이지 사용,

dropzone 드래그 앤 드롭 업로드 플러그인 사용


<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<title>图片上传</title>
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/css/bootstrap-combined.min.css" rel="stylesheet">
<link rel="stylesheet" href="./static/css/dropzone.css">
<style type=&#39;text/css&#39;>
    body {
      background-color: #CCC;
    }
    #content {
      background-color: #FFF;
      border-radius: 5px;
    }
    #content .main {
      padding: 20px;
    }
    #content .sidebar {
      padding: 10px;
    }
    #content p {
      line-height: 30px;
    }
</style>
</head>
<body>
  <div>
    <h1>图片上传</h1>
    <div class=&#39;navbar navbar-inverse&#39;>
      <div class=&#39;navbar-inner nav-collapse&#39; style="height: auto;">
        <ul>
          <li><a href="http://168fun.cn/">主页</a></li>
          <li><a href="http://168fun.cn/archives/">归档</a></li>
        </ul>
      </div>
    </div>
    <div id=&#39;content&#39;>
      <div class=&#39;span12 main&#39;>
        <h2>Main Content Section</h2>
      
      <form id="my-awesome-dropzone" action="./upload.php"></form>
      <div>
      <textarea id="biao1" rows="3" value=""></textarea>
      <input type="button" onClick="copyUrl2()" class="btn btn-default" value="点击复制代码" />
      <input type="button" onClick="openLink()" class="btn btn-default" value="打开图片" />
      </div>
      </div>
     
    </div>
  </div>
</body>
<script src="./static/js/dropzone.js"></script>
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script>
  
  function copyUrl2()
  {
    var Url2=document.getElementById("biao1");
    Url2.select(); // 选择对象
    document.execCommand("Copy"); // 执行浏览器复制命令
  }
  function openLink()
  {
    var url = $("#biao1").attr("value");
    window.open(url);
  }
  Dropzone.options.myAwesomeDropzone = { 
        url: "upload.php",
        addRemoveLinks: true,
        dictRemoveLinks: "x",
        dictCancelUpload: "x",
        maxFiles: 10,
        maxFilesize: 5,
        acceptedFiles: ".jpg,.png",
        init: function() {
            this.on("success", function(file, response, e) {
                var res = JSON.parse(response);
                $(&#39;#biao1&#39;).attr(&#39;value&#39;,res.img_url);
                $(&#39;#biao1&#39;).text(res.markdown_img);
            });
            this.on("removedfile", function(file) {
                console.log("File " + file.name + "removed");
            });
        }
        
    };
</script>
</html>
로그인 후 복사


위 내용은 PHP 드래그 앤 드롭으로 Qiniu Cloud에 이미지 업로드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿