首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js拖拽上传图片

有时候,在开发中,需要遇到拖拽上传图片的需求,即从磁盘选中一张或多张图片,然后按着鼠标把图片拖动到页面上指定的区域,实现图片上传。...1、后端上传图片的接口 我是之前用vue写一个简单的后台系统的时候,用Java的SpringMVC+MyBatis的框架写了一个简单的后台管理的一些接口,刚好有一个上传用户头像的接口,该接口是把上传后的图片存储在另外一台...Tomcat下,这里就直接使用这个接口来上传图片。...里面用的formData对象来上传图片的,该对象的作用是:   1、用一些键值对来模拟一系列表单控件,即把form中所有表单元素的name与value组装成一个queryString;   2、异步上传二进制文件...请求头的不同,对于上传文件的请求,contentType = multipart/form-data是必须的,而 post 则不是,毕竟 post 又不是只上传文件~。

18.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

原生的文件拖拽上传

老规矩先说需求:上传文件需要拖拽上传 正常来讲一个UI库就支持了 比如antd的uploads组件 但是考虑到设计图的差异太大了,所以需要自己来实现 也是很简单的: 直接上代码吧 这个代码中包括了上传s3...DOCTYPE html>             原生拖拽上传     <style...        width: 1050px;         min-height: 300px;       }                原生拖拽上传...      };       /*拖拽的源对象----- 客户端的一张图片 */       /*拖拽目标对象-----div#container  若图片释放在此元素上方,则需要在其中显示*/       ...事件         }       };       async function reader(file) {         // 这里能获取到拖拽过来的文件了         // 我这边是经过了一层

84320

HTML5 拖拽上传图片实例

,之所以选这个的原因就是,我很容易做扩展,它支持3种方式添加图片,一种拖拽上传,一种常规的选择文件上传,另外的就是添加网络图片。...它很巧妙的把三种上传模式整合到了一起,而且你可以用IE浏览器浏览下,如果不支持HTML5,是没有拖拽上传图片的提示的,如图:   拖拽上传最重要的就是js部分的代码,它实现了70%的功能,另外30%仅仅是把图片信息提交到后台...所以先来看下js实现代码吧。...var fileList = e.dataTransfer.files; var img = document.createElement('img'); //检测是否是拖拽文件到页面的操作...文章最开始提到,还有点击选择文件上传和网络图片,因为这2个不属于这次的主题范围内,就不说了。况且这2个功能实现起来都不麻烦。 demo下载

2.7K30

文件上传 = 拖拽 + 多文件 + 文件

比方说, 执行{多}文件上传 拖拽上传 针对文件夹内容上传 {多}文件上传 + 文件上传 但是呢,这些框架只是提供了上面的部分功能,而不是将上面的功能全部一网打尽。...所以,今天我们就来自己手搓一个「文件上传」。它所拥有的能力如下 支持{多}文件上传 拖拽上传 文件内容上传 {多}文件上传 + 文件上传 也就是说,我们的文件上传可以上传你本地的任何文件。...看这名字多气派,FullScreen,它支持全屏范围内拖拽。也就是说,不管你把文件拖拽到页面的哪个位置,都可以触发文件上传功能。 "全屏"? 按照SPA的尿性,那岂不是需要在一个路由的组件的根部。...只不过,文件拖拽我们可以通过拖拽进行处理。而文件{夹}上传需要一些操作来触发其功能。...上面的代码就是,不论是你拖拽还是文件{夹}上传,都会被存放到webFiles的state变量中。

11010

js不借助后端,多文件拖拽压缩上传,支持选择文件

在系统中上传文件时,需要支持多文件文件上传,并且需要在文件上传时需要将多文件压缩成zip包,下载的时候,直接下载zip包 听到这个需求,我的第一反应就是js应该没有强大吧,因为压缩和访问文件夹,涉及到了文件系统的读取和修改...主要用到的库是 jszip 则 则这里简单对jszip做下简单介绍,更详细的功能和api请移步官网. jszip是是一个创建,读取和写入.zip文件js库, api优化,简单 浏览器支持 实现思路如下...: 1:用户选中文件文件夹后,获取文件对象, 2:遍历获取的文件对象 放入实例化的zip对象中 3:使用generateAsync()方法生成文件, 通过formdata提交到服务端 代码如下: 此案例支持拖拽上传多个文件...important } 这里说一下拖拽上传文件, 主要是用到的原生事件是这三个 ondrop ondragover ondragleave 加上prevent 可以防止拖拽过程...在ondragover的事件上可以处理文件拖拽到了可放置的元素上,对用户 进行友好提示. ondrop 事件是文件拖拽到了元素上,松开鼠标时触发, 这个时候可以通过事件拿到拖拽文件列表 使用even.dataTransfer.files

3.3K10

mvc文件上传支持批量上传拖拽以及预览,文件内容校验

网站中的上传相信大家都不陌生,也算是一个小小的技术难点,尤其时在asp.net中,上传的一些大小限制以及上传的进度的控制,以及用户体验等方面,今天在这里分享一个在asp.net mvc模式下的文件上传,...3.文件大小限制:修改fileinput.js中的3195行 maxFilePreviewSize配置节点 maxFilePreviewSize: 25600, // 25 MB 默认是25M,根据需要手动调整...//按钮样式 dropZoneEnabled: true,//是否显示拖拽区域 //minImageWidth: 50, //图片的最小宽度...//maxImageHeight: 1000,//图片的最大高度 //maxFileSize: 0,//单位为kb,如果为0表示不限制文件大小..., }); //导入文件上传完成之后的事件 $("#txt_file").on("fileuploaded", function

1.5K20
领券