DiscuzX3.5上传截屏图片并返回图片信息

目录

1 前言

2 网页代码

3 服务器端代码

4 运行结果


1 前言

上一篇测试了图片上传函数:pic_upload,可以一行服务器端代码实现图片保存到相册文件夹,并同时生成指定宽高的缩略图,非常高效的函数。这次测试一下另外一个上传函数:pic_save。

2 网页代码

网页代码跟前一篇完全一样,不用修改。

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <script type="text/javascript" src="../../../template/default/style/cat/jquery.min.js"></script>
</head>
 
<body>
<div id="Msg" contentEditable="true" style="width: 600px; height:600px;border: 1px solid pink;"></div>
<script>
	//查找 Msg 元素,检测当粘贴时候,
	document.querySelector('#Msg').addEventListener('paste', function(e) 
	{
		if (!(e.clipboardData && e.clipboardData.items)) {
		   return;
		 }
		 for (var i = 0, len = e.clipboardData.items.length; i < len; i++) {
		   var item = e.clipboardData.items[i];
		   console.log(item);
		   if (item.kind === "string") {
			 item.getAsString(function (str) {
			   console.log(str);
			   layer.msg("请粘贴图片上传", {
				 icon: 2,
				 shade: [0.3, '#000'],
				 offset: '15px',
				 time: 1000
			   })
			 })
			 $("#Msg").html(""); //jQuery方法一
		   } else if (item.kind === "file") {
			 var blob = item.getAsFile();
			 console.log('fff:');
			 console.log(blob);
			 if (blob.size === 0) {
			   return;
			 }
			 var data = new FormData();
			 data.append("image", blob);
			 $.ajax({
			   url: '/pastepic.php?ac=up_paste_img',
			   type: 'POST',
			   cache: false,
			   data: data,
			   processData: false,
			   contentType: false,
			   success: function (result) {
				 console.log(result);
				 //if (result.code == "0") {
				   console.log(result.msg)
				   //var html = "<img src=" + result.data + " width='100' height='100'>";
				   //$("#Msg").html(html);
				 //} else {
				   console.log(result.msg)
				 //}
			   }
			 });
		   }
		 }
	}, false);
</script>
 
</body>
</html>
 
 

3 服务器端代码

服务器端代码略作修改:

<?php
// mod文件只能被入口文件引用,不能直接访问
if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}
require_once libfile('function/discuzcode');
require_once libfile('function/home');
 
$ac = dhtmlspecialchars($_GET['ac']); // 获取数据动作,g1:取得某边界内,某类别的所有点
 
 
if ($ac == 'up_paste_img'){
    //服务器端生成图片
	echo 'will receive up_paste_img';
	//echo $_FILES;
	//print_r(array_values($_FILES));
 
	if(!empty($_FILES)) {
		foreach($_FILES as $varname => $file) {
			if($file['tmp_name']) {
				$result = pic_save($file, 0, 'paste_image', false);
				$pic = 'album/'.$result['picid']; // $albumid
				print_r($result);
				
			}
		}
	}
 
	exit;		
}
elseif ($ac == 'blank'){
    // 网页模板
	include_once template("ccc/pic_paste");
}
 
?>

4 运行结果

浏览器端返回了上传图片处理后的详细信息:

 看一下相册,可以看到这张图片同步保存在了默认相册里面。

 仅仅用了1行代码,非常强。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建 Linux+OA 系统需要以下步骤: 1. 安装 Linux 操作系统,可以选择 CentOS、Ubuntu 等版本; 2. 安装 Web 服务器,如 Apache、Nginx 等; 3. 安装 PHP 解释器和相关扩展,如 MySQL、Redis 等; 4. 下载并安装 OA 系统,如用 PHP 开发的 Discuz、用 Java 开发的 Huihoo 等。 具体步骤如下: 1. 安装 Linux 操作系统 可以选择 CentOS、Ubuntu 等版本,根据自己的需求选择合适的版本。安装过程中需要设置 root 用户密码和网络配置等。 2. 安装 Web 服务器 以 Apache 为例,可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install apache2 ``` 安装完成后,可以通过浏览器访问 http://localhost/ 来测试是否安装成功。 3. 安装 PHP 解释器和相关扩展 以 PHP 7.4 为例,可以使用以下命令进行安装: ``` sudo apt-get install php7.4 php7.4-mysql php7.4-redis ``` 安装完成后,可以通过创建一个 phpinfo.php 文件来测试是否安装成功: ``` <?php phpinfo(); ?> ``` 将该文件放置在 Apache 的默认网站目录 /var/www/html/ 下,然后通过浏览器访问 http://localhost/phpinfo.php 来查看 PHP 的相关信息。 4. 下载并安装 OA 系统 可以选择用 PHP 开发的 Discuz、用 Java 开发的 Huihoo 等。以 Discuz 为例,可以使用以下命令进行安装: ``` sudo apt-get install unzip cd /var/www/html/ sudo wget https://download.comsenz.com/DiscuzX/3.5/Discuz_X3.5_SC_UTF8.zip sudo unzip Discuz_X3.5_SC_UTF8.zip sudo chown -R www-data:www-data Discuz_X3.5_SC_UTF8/ ``` 安装完成后,可以通过浏览器访问 http://localhost/Discuz_X3.5_SC_UTF8/ 来进入 Discuz 的安装向导。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值