博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax上传图片的本质
阅读量:5980 次
发布时间:2019-06-20

本文共 2707 字,大约阅读时间需要 9 分钟。

422101-20160305165612143-915602815.png

1.图片上传到服务器。

2.后台将图片地址传到html页面,以图片形式展现。

3.后天将图片地址加入到input表单中,表单处于隐藏状态。

4.前端删除图片,通过js操作,移除图片与表单数据。

5.图片上传表单,是单独的。不能嵌套在总的表单中。

6.牛逼的图片上传,可以对图片进行处理。压缩,加水印等。

7.点击btn,触发图片点击,图片改变之后,触发图片表单提交。

  • 点击按钮
  • 上传表单
  • 触发事件
$("#up_btn").click(function () {
$("#carousel-photoimg").click(); });$('#carousel-photoimg').on('change', function(){
var status = $("#up_status"); var btn = $("#up_btn"); $("#imageform").ajaxForm({
target: '#carousel-preview', beforeSubmit:function(){
// 提交前,用加载的图片显示 status.show(); btn.hide(); }, success:function(){
// 提交后,加载的图片显示 status.hide(); btn.show(); }, error:function(){
status.hide(); btn.show(); } }).submit(); });
  • 后端验证与处理
function carouselUpload() {        $path = "Uploads/Store/goods/".date("Ymd").'/';        if (!file_exists($path)) {            mkdir($path, 0777, true);        }        $extArr = array("jpg", "png", "gif","jpeg");        if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){            $name = $_FILES['photoimg']['name'];            $size = $_FILES['photoimg']['size'];                        if(empty($name)){                echo '请选择要上传的图片';                exit;            }            $ext = $this->extend($name);            if(!in_array($ext,$extArr)){                echo '图片格式错误!';                exit;            }            if($size>(2000*1024)){                echo '图片大小不能超过2M';                exit;            }            $image_name = time().rand(100,999).".".$ext;            $tmp = $_FILES['photoimg']['tmp_name'];            if(move_uploaded_file($tmp, $path.$image_name)){                echo '
'; }else{ echo '上传出错了!'; } exit; } exit; } function extend($file_name){ $extend = pathinfo($file_name); $extend = strtolower($extend["extension"]); return $extend; }
  • 删除图片文件
function deleteImg(obj) {
$(obj).remove(); // ajax 删除图片文件 var src = $(obj).data('src'); $.ajax({
type: "POST", url: "{sh::U('Goods/deleteImg')}", data: "src="+src, success: function(msg){} }); }
// 删除图片,避免造成空间不足publicfunction deleteImg() if(IS_AJAX)$src$this('src');if(unlink($src))echo"文件{$src}删除失败";elseecho"文件{$src}删除成功";

转载地址:http://ctlox.baihongyu.com/

你可能感兴趣的文章
第六章 对象作用域与servlet事件监听器
查看>>
Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)
查看>>
一分钟应对勒索病毒WannaCry
查看>>
jquery 时间运算、格式化的方法扩张
查看>>
重启猫(modem)的方法
查看>>
微信接口开发之高级篇系列【网页授权详细说明【提供测试账号使用】】
查看>>
深度剖析Java变量栈&对象堆
查看>>
一条细小的报警短信的处理
查看>>
ORA-30009: CONNECT BY 操作内存不足--XMLTable的使用
查看>>
Oracle用户profile详解
查看>>
Oracle数据库的SCN转换成时间和时间转换成SCN
查看>>
SAP QM Early Lot Creation 04 Inspection Lot Demo
查看>>
HDOJ 2018 母牛的故事
查看>>
SecureCRT 专题
查看>>
[20161002]impdp导入空表.txt
查看>>
测试十年-我难以逾越的困惑和痛苦和思考
查看>>
[20161228]奇怪log file sync等待事件.txt
查看>>
阿里云ECS,使用VPC网络统一集群网络出口
查看>>
【云图】如何制作官网上的实体店分布图?
查看>>
ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区...
查看>>