百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Web端文件上传从未如此简单,但却很强大——bootstrap-fileinput

ccwgpt 2024-10-14 08:47 33 浏览 0 评论

介绍

对于文件上传,我们并不陌生,HTML自带了上传文件表单,但是我们都知道,那些真的满足不了我们的大多数需求,诸如多选、预览、删除、拖拽等各类繁杂的功能,原生的文件上传Input确实很难满足我们的需求,因此就诞生了很多第三方的上传组件,比如大家熟知的百度WebUploader、之前我也有介绍过类似的组件,功能都非常丰富,大家可以根据自己的需求酌情选择,符合自己的需要才是最好的,当然原生的或许就够了呢!



Github

https://github.com/kartik-v/bootstrap-fileinput

此项目一共多大一千多次提交,60+发布以及,4k+star,可见还是很受广大开发者的认可的!



功能描述

以下是借助翻译将功能大致描述下:

1、Bootstrap 3.x和4.x的增强型HTML 5文件输入以及各种文件的文件预览,提供多种选择,可恢复的块上传等;



2、该插件允许您使用一种简单的方法来设置高级文件选择器/上传控件,该控件专为Bootstrap 3.x或4.x CSS3样式而设计;



3、它通过提供支持来预览各种文件,即图像,文本,html,视频,音频,闪存和对象,进一步增强了文件输入功能。



4、此外,它还包括基于AJAX的上传,拖放文件,查看上传进度以及有选择地预览,添加或删除文件。



安装使用

【1】使用bower

bower install bootstrap-fileinput

【2】使用npm

npm install bootstrap-fileinput

【3】初始化,例如

//默认
$("#input-id").fileinput();
// 外加插件
$("#input-id").fileinput({'showUpload':false, 'previewFileType':'any'});

所有特性

文件输入功能(翻译+意译):

1、该插件将简单的HTML文件输入转换为高级文件选择器控件。对于不支持JQuery或Javascript的浏览器,将有助于回退到正常的HTML文件输入。


2、文件输入包含以下三个部分,其中包含用于控制显示的选项和模板:

  • 文件标题部分:显示所选文件的简要信息
  • 文件操作按钮部分:浏览,删除和上传文件。
  • 文件预览部分:在客户端上显示所选文件以进行预览(支持图像,文本,闪存和视频文件类型的预览)。其他文件类型将显示为普通缩略图。

3、type = file如果设置了插件,插件会自动将输入转换为高级文件选择器输入class = file。输入的所有选项都可以作为HTML5 data属性传递 。


4、能够选择和预览多个文件。使用HTML 5文件阅读器API来读取和预览文件。如果选择了多个文件,则显示正在加载到预览区域的文件的进度。


5、提供预定义的模板和CSS类,可根据需要更改为文件输入显示的样式。


6、能够配置插件以显示带有初始标题的图像/文件初始预览 (对于记录更新方案更有用)。参考initialPreview, initialPreviewConfig,和 initialCaption 插件选项部分中的属性用于配置此属性。


7、能够将内容缩放为详细预览。在预览中查看缩放内容的幻灯片,最大化为无边框或全屏预览。


8、能够通过拖放在初始预览中对内容进行排序/重新排列。


9、能够完全控制窗口小部件并控制样式和布局。


10、通过语言环境/翻译支持同一页面上的多语言小部件。


11、显示/隐藏以下任何或所有内容的选项:

  • 标题部分
  • 预览部分
  • 上传按钮
  • 删除按钮

12、自定义目标容器元素的位置以显示整个插件,标题容器,标题文本,预览容器,预览图像和预览状态。


13、对于文本文件预览,将文本自动换行到缩略图宽度,并显示环绕指示符以在悬停时显示完整文本。您可以自定义换行指示符(默认为...)。


14、自定义预览,进度和所选文件的信息。


15、上传操作默认为表单提交。支持上传路由/服务器操作参数,用于基于自定义ajax的上传


16、触发JQuery事件以进行高级开发。目前可用的事件是filereset, fileclear,filecleared,fileloaded,和fileerror。


17、已禁用和只读文件输入支持。


18、动态自动调整超过容器宽度的长文件名的文件标题。


19、提升fileimageuploaded在预览容器上完全加载图像后触发的新事件。


20、当预览图像超出预览容器的大小时自动调整大小。


21、完全模板化和可扩展,允许以开发人员想要的方式配置文件输入。


22、基于各种文件预览类型预览智能。内置的文件支持类型分类为 image,text,html,video,audio,flash, object,和other。


23、allowedPreviewTypes:您现在可以配置允许将哪些文件类型显示为预览。默认为['image', 'html', 'text', 'video', 'audio', 'flash', 'object']。因此,默认情况下,所有文件类型都被视为要预览的对象。对于只有exampleTo预览image 和video,你可以将其设置为['image', 'video']。要禁用所有文件类型的内容预览并将其显示previewIcon为缩略图,请将其设置为null,empty或false。


24、allowedPreviewMimeTypes:除此之外allowedPreviewTypes,您还可以控制可以显示哪些mime类型以供预览。默认为null,表示支持所有mime类型。>注意:对于2.5.0版,您现在可以通过设置allowedFileTypes和控制允许上载哪些文件类型或扩展名allowedFileExtensions。


25、layoutTemplates:允许您在一个属性中配置所有布局模板设置。可配置的布局的对象是:main1,main2, preview,caption,和modal。


26、previewTemplates:每种预览类型的所有预览模板都已合并为一个属性,而不是图像,文本等的单独模板。键是设置的格式allowedPreviewTypes,值是用于预览的模板。下面是每个预览文件类型(默认预置的模板generic,image,text,html, video,audio,flash,object,和other)。该generic模板仅用于initialPreview使用直接标记显示 内容。


27、previewSettings:允许您为每个预览图像类型配置宽度和高度。该插件具有默认的宽度和预定义的每个类型,即高度 image,text,html,video,audio,flash,和object。


28、fileTypeSettings:允许您使用回调配置和标识每个预览文件类型。该插件具有预定义识别不同类型即默认回调 image,text,html,video,audio,flash,和object。


29、替换模板中的标签已得到增强。使用此版本,它将自动检查要在模板字符串中替换的每个标记的多次出现。


30、通过在任何其他事件中将输出返回到中止上载,操作事件并轻松添加自己的自定义验证消息。


31、支持多语言和区域设置。


总结

好用的插件千千万,当你正缺少这样一个强大的文件上传组件时,bootstrap-fileinput或许能帮到你,它虽然不是我用过最好的,但至少能符合很多场景下的需求了,特别适合对于文件上传非常频繁的时候来说,真的非常有用,希望能给你带来帮助,当然您如果有更好的推荐,则感谢在评论区留言分享!

PS:笔者近期想深入的学习下Javascript,小伙伴们知道现在有什么书籍比较合适么,网络上的系统化的较少,想要系统的深入学习下,感谢推荐的道友们!

相关推荐

用Steam启动Epic游戏会更快吗?(epic怎么用steam启动)

Epic商店很香,但也有不少抱怨,其中一条是启动游戏太慢。那么,如果让Steam启动Epic游戏,会不会速度更快?众所周知,Steam可以启动非Steam游戏,方法是在客户端左下方点击“添加游戏”,然...

Docker看这一篇入门就够了(dockerl)

安装DockerLinux:$curl-fsSLhttps://get.docker.com-oget-docker.sh$sudoshget-docker.sh注意:如果安装了旧版...

AYUI 炫丽PC开发UI框架2016年6月15日对外免费开发使用 [1]

2016年6月15日,我AY对外发布AYUI(WPF4.0开发)的UI框架,开发时候,你可以无任何影响的去开发PC电脑上的软件exe程序。AYUI兼容XP操作系统,在Win7/8/8.1/10上都顺利...

别再说C#/C++套壳方案多了!Tauri这“借壳生蛋”你可能没看懂!

浏览器套壳方案,C#和C++有更多,你说的没错,从数量和历史积淀来看,C#和C++确实有不少方式来套壳浏览器,让Web内容在桌面应用里跑起来。但咱们得把这套壳二字掰扯清楚,因为这里面学问可大了!不同的...

OneCode 核心概念解析——Page(页面)

在接触到OneCode最先接触到的就是,Page页面,在低代码引擎中,页面(Page)设计的灵活性是平衡“快速开发”与“复杂需求适配”的关键。以下从架构设计、组件系统、配置能力等维度,解析确...

React是最后的前端框架吗,为什么这么说的?

油管上有一位叫Theo的博主说,React是终极前端框架,为什么这么说呢?让我们来看看其逻辑:这个标题看起来像假的,对吧?React之后明明有无数新框架诞生,凭什么说它是最后一个?我说的“最后一个”不...

面试辅导(二):2025前端面试密码:用3个底层逻辑征服技术官

面试官放下简历,手指在桌上敲了三下:"你上次解决的技术难题,现在回头看有什么不足?"眼前的候选人瞬间僵住——这是上周真实发生在蚂蚁金服终面的场景。2025年的前端战场早已不是框架熟练...

前端新星崛起!Astro框架能否终结React的霸主地位?

引言:当"背着背包的全能选手"遇上"轻装上阵的短跑冠军"如果你是一名前端开发者,2024年的框架之争绝对让你眼花缭乱——一边是React这位"背着全家桶的全能选...

基于函数计算的 BFF 架构(基于函数计算的 bff 架构是什么)

什么是BFFBFF全称是BackendsForFrontends(服务于前端的后端),起源于2015年SamNewman一篇博客文章《Pattern:BackendsFor...

谷歌 Prompt Engineering 白皮书:2025年 AI 提示词工程的 10 个技巧

在AI技术飞速发展的当下,如何更高效地与大语言模型(LLM)沟通,以获取更准确、更有价值的输出,成为了一个备受关注的问题。谷歌最新发布的《PromptEngineering》白皮书,为这一问题提供了...

光的艺术:灯具创意设计(灯光艺术作品展示)

本文转自|艺术与设计微信号|artdesign_org_cn“光”是文明的起源,是思维的开端,同样也是人类睁眼的开始。每个人在出生一刻,便接受了光的照耀和洗礼。远古时候,人们将光奉为神明,用火来...

MoE模型已成新风口,AI基础设施竞速升级

机器之心报道编辑:Panda因为基准测试成绩与实际表现相差较大,近期开源的Llama4系列模型正陷入争议的漩涡之中,但有一点却毫无疑问:MoE(混合专家)定然是未来AI大模型的主流范式之一。...

Meta Spatial SDK重大改进:重塑Horizon OS应用开发格局

由文心大模型生成的文章摘要Meta持续深耕SpatialSDK技术生态,提供开自去年9月正式推出以来,Meta持续深耕其SpatialSDK技术生态,通过一系列重大迭代与功能增强,不断革新H...

"上云"到底是个啥?用"租房"给你讲明白IaaS/PaaS/SaaS的区别

半夜三点被机房报警电话惊醒,顶着黑眼圈排查服务器故障——这是十年前互联网公司运维的日常。而现在,程序员小王正敷着面膜刷剧,因为公司的系统全"搬"到了云上。"部署到云上"...

php宝塔搭建部署thinkphp机械设备响应式企业网站php源码

大家好啊,欢迎来到web测评。本期给大家带来一套php开发的机械设备响应式企业网站php源码,上次是谁要的系统项目啊,帮你找到了,还说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制测试了一下...

取消回复欢迎 发表评论: