手写的js图片上传加载工具

本文介绍如何利用JavaScript实现手动编写的图片上传功能,通过点击按钮模拟file对象,利用HTML5的URL对象创建图片缓存,展示上传图片的缩略图,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 图片上时,一般需要使用上传按钮+缩略图的形式上传文件,这样可以更好的提升用户体验




2 在上面图片中,用户上传时可以点击按钮图片,图片加载可以看到自己选择的缩略图,这些代码一般在网上开源的js文本编辑插件中都能实现,另外我们也可以自己编写一个类似的js程序完成该功能



3 在上面图片中,我们使用的其实仍然是html的file对象<input type="file">,只不过我们用缩略图代替了file对象


4 用手写的js代码如何完成加载并生成上传缩略图呢,我们需要用到jquery的click()事件代替图片按钮的点击,并且使用html5的URL对象代替按钮图片,切换成file对象所加载的图片

    1 用按钮图片代替file对象

    2 点击按钮图片相当于点击file对象

    3 在图片加载后获得图片缓存

    4 用图片缓存代替按钮图片

    5 生成新的按钮


5 这里面我们需要解决的问题有两个,1获得file对象的缓存,2创建一个url代替按钮图片

            // 获得blob图片缓存
            var upload_img = $("#spu_file_"+file_index)[0].files[0];
            
            // 将blob转化为window的url对象
            var url = window.URL.createObjectURL(upload_img);
            
            // 将url赋值给img
            $("#spu_img_"+file_index).attr("src",url);


6 经过以上的操作我们就可以完成上传图片的加载功能了,是不是很简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值