时间:2021-05-28
*1.bootstrap-fileinput 插件git下载地址
https://github.com/kartik-v/bootstrap-fileinput.git
2.解决使用bootstrap-fileinput得到返回值
上传图片
$("#file-0a").fileinput({uploadUrl : "/upload_img",//上传图片的urlallowedFileExtensions : [ 'jpg', 'png', 'gif' ],overwriteInitial : false,maxFileSize : 1000,//上传文件最大的尺寸maxFilesNum : 1,//上传最大的文件数量initialCaption: "请上传商家logo",//文本框初始话value//allowedFileTypes: ['image', 'video', 'flash'],slugCallback : function(filename) {return filename.replace('(', '_').replace(']', '_');}});注意上传图片事件完之后,得到返回值写法
$('#file-0a').on('fileuploaded', function(event, data, previewId, index) {var form = data.form, files = data.files, extra = data.extra,response = data.response, reader = data.reader;console.log(response);//打印出返回的jsonconsole.log(response.paths);//打印出路径});jsp页面
<input id="file-0a" class="file" type="file" multipledata-min-file-count="1" name="upload_logo">其中data-min-file-count=”1”是指文件上传最低数量
3.服务端代码
采用了spring自带插件上传,框架为Springmvc
Bean
import java.util.List;public class Picture {private List<String> paths;public List<String> getPaths(){return paths;}public void setPaths(List<String> paths){this.paths = paths;} }Controller
@ResponseBody@RequestMapping(value="upload_img",method=RequestMethod.POST)public Picture uploadImage(@RequestParam MultipartFile[] upload_logo) throws IOException{log.info("上传图片");Picture pic = new Picture();List<String> paths = new ArrayList<String>();String dir = UploadUtil.getFolder();for(MultipartFile myfile : upload_logo){ if(myfile.isEmpty()){ log.info("文件未上传"); }else{ log.info("文件长度: " + myfile.getSize()); log.info("文件类型: " + myfile.getContentType()); log.info("文件名称: " + myfile.getName()); log.info("文件原名: " + myfile.getOriginalFilename()); log.info("========================================");//上传文件 返回路径String path = UploadUtil.writeFile(myfile.getOriginalFilename(), dir, myfile.getInputStream());log.info("文件路径:"+path);paths.add(path);} } pic.setPaths(paths);return pic;}uploadUtil
private static final Logger log = LoggerFactory.getLogger(UploadUtil.class);private UploadUtil() {}private static SimpleDateFormat fullSdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");private static SimpleDateFormat folder = new SimpleDateFormat("yyyy" + File.separator + "MM" + File.separator + "dd");/*** 返回yyyy File.separator MM File.separator dd格式的字符串* * @return*/public static String getFolder() {return folder.format(new Date());}/*** 文件上传* * @param srcName* 原文件名* @param dirName* 目录名* @param input* 要保存的输入流* @return 返回要保存到数据库中的路径*/public static String writeFile(String srcName, String dirName, InputStream input) throws IOException {log.info(srcName);// 取出上传的目录,此目录是tomcat的server.xml中配置的虚拟目录String uploadDir = ContextUtil.getSysProp("upload_dir");//设置你上传路径// 取出虚拟目录的访问路径String virtualDir = ContextUtil.getSysProp("virtual_dir");//设置你虚拟目录访问路径// 重命名文件if (null != srcName) {srcName = srcName.substring(srcName.indexOf("."));} else {srcName = ".jpg";}String filename = "";// 得到要上传的文件路径filename = uploadDir + File.separator + dirName + File.separator + fullSdf.format(new Date()) + srcName;// 得到将要保存到数据中的路径String savePath = filename.replace(uploadDir, "");savePath = virtualDir + savePath.replace("\\", "/");File file = new File(filename);if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}FileOutputStream fos = new FileOutputStream(file);// 一次30kbbyte[] readBuff = new byte[1024 * 30];int count = -1;while ((count = input.read(readBuff, 0, readBuff.length)) != -1) {fos.write(readBuff, 0, count);}fos.flush();fos.close();input.close();return savePath;}4.解决上传时候遇到的一些问题
如遇见点击上传之后,进度条显示为100%,jsp页面显示[Object,obejct],那么注意你后台返回的是否为json对象。
以上所述是小编给大家介绍的Bootstrap的fileinput插件实现多文件上传的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
bootstrap-fileinput是一款基于Bootstrap3.x的HTML5文件上传插件。该文件上传插件带有预览图效果,可同时选择多个文件。该插件使用b
最近一个项目中需要实现多文件上传与管理,而项目是基于bootstrap开发的,所以查了一些bootstrap文件上传插件,最后发现还是bootstrap-fil
Bootstrap文件上传插件FileInput是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面
经理让我帮服务器开发人员开发一个上传文件功能界面,我就想着以前使用过bootstrap-fileinput插件进行文件上传,很不错。赶紧就撸起来了。1、下载压缩
本篇介绍如何使用bootstrapfileinput.js,fileinput插件功能如此强大,样式非常美观,并且支持上传文件预览,ajax同步或异步上传,拖曳