文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

前端如何上传图片文件

2023-09-24 06:03

关注

效果图

效果:
在这里插入图片描述
在这里插入图片描述


这篇博客必须要后台调用你的js函数,如果后台不打算调用你的js函数可以放弃此篇博客了,或者自己将代码改良。如果后台接受该代码可以参考这篇文章:(如果后台不是使用php,也没关系只要返回的数据是这样也能行)php如何处理前端上传的图片

<literal><script>window.parent.create_product.success('/uploads/20230109/74da42c5c3fbead6320a373a40a4ee2d.jpghttps://blog.csdn.net/qq_48082548/article/details/')</script></literal>

在这里插入图片描述


html代码

<form id="upload_pic_wrap" target="upload_file" enctype="multipart/form-data" method="POST" action="/admin/mini_upload"> <div class="upload_wrap pull-left">        <i class="fa fa-upload fa-2x">i> <input type="hidden" name="name_js" value="create_product">        <input type="file" name="pic" onchange="mini_iamge(this)"accept="image/png, image/jpeg, image/jpg,image/gif">    div>form><iframe name="upload_file" class="hidden"> iframe><script>    function mini_iamge(that){        console.log(window.parent.updata_product);        //设置图片上限为5MB        var iamge_size=5000000;                var width_size=650;        var height_size=600;        //限制封面图上传图片的大小        function image_size(w,h,s) {            if (s>iamge_size || s<=0){                alert("封面图请上传大于0MB,小于5MB的图片");                return            }            //如果不需要做限制直接提交表单就可以了            if ((w<width_size-50 || w>width_size+50) || (h<height_size-50 || h>height_size+50)){                var width_d=width_size+50                var width_x=width_size-50                alert("请将图片的长设置在:'"+width_x+"'~'"+width_d+"'之间,"+ "\n请将图片的宽设置在:'"+(height_size-50)+"'~'"+(height_size+50)+"'之间,"+"\n上传的图片长为:'"+(w)+"  宽为:"+(h));                return;            }//提交表单            jQuery("#create_form #upload_pic_wrap").submit();        }        //获取上传图片的大小        if (that.files) {            var f = that.files[0];            var reader = new FileReader();            reader.onload = function (e) {                var data = e.target.result;                //加载图片获取图片真实宽度和高度                var image = new Image();                image.onload = function () {                    var width = image.width;                    var height = image.height;                    var fileSize = f.size;                    image_size( width, height, fileSize);                };                image.src = data;            };            reader.readAsDataURL(f);        } else {            var image = new Image();            image.onload = function () {                var width = image.width;                var height = image.height;                var fileSize = image.fileSize;                image_size( width, height, fileSize);            }        }    }script>

从上面的代码可以看出来是使用iframe无刷新技术上传的图片,还使用了js限制了图片上传的大小,如果不需要做相关的代码删除即可。
在这里插入图片描述

js

记得需要在html文件中导入此js

//create_product html中的input value值var create_product = {//上传封面图失败的函数    error: function (msg) {        alert(msg);    },    //点击x删除的函数    delete_img:function () {        jQuery("#upload_pic_wrap .del_image").unbind().click(function () {            jQuery(this).parent().remove();        })    },    //上传成功的函数,file_key后台返回来的图片地址    success: function (file_key) {        if (!file_key) {            return;        }        var html = '+ file_key + '"/>https://blog.csdn.net/qq_48082548/article/details/'            + '+ file_key + '">https://blog.csdn.net/qq_48082548/article/details/';        if (jQuery("#upload_pic_wrap .pic-each").size() > 0) {            jQuery("#upload_pic_wrap .pic-each").html(html);        } else {            jQuery("#upload_pic_wrap").append('https://blog.csdn.net/qq_48082548/article/details/' + html + https://blog.csdn.net/qq_48082548/article/details/'https://blog.csdn.net/qq_48082548/article/details/');        }        create_product.delete_img();    },    };

来源地址:https://blog.csdn.net/qq_48082548/article/details/128615957

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯