关于文件上传的一些控件

1、Layui,这里兼容了系列的操作,上传,弹出等等的功能,这里做上传的简单介绍
连接:https://www.layui.com/doc/modules/upload.html

步骤:1.下载相关的js文件等等
2.引入到页面上
3.在页面上写相关的控件

这里直接从步骤3开始:

需要在spring-mvc中配置:
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
	<bean id="multipartResolver"  
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        <!-- 默认编码 -->
        <property name="defaultEncoding" value="utf-8" />  
        <!-- 文件大小最大值 -->
        <property name="maxUploadSize" value="10485760000" />  
        <!-- 内存中的最大值 -->
        <property name="maxInMemorySize" value="1" />  
        <!--<property name="uploadTempDir" value="/temp/" />-->
    </bean>
html:
<script>
    // layui文件上传
    layui.use('upload', function(){
        var upload = layui.upload;    //这个是声明哟啊干什么,upload是上传

        //执行实例
        var uploadInst = upload.render({
            elem: '#attachment' //绑定元素  就是按钮的所在地
            ,data: {
                id:'HeadPortrait'
            }
            ,url: projectName + '/base/fileC/uploadTempOpen' //上传接口
            ,method: 'post'
            ,accept: 'images'
            ,acceptMime: 'image/*'
            // ,auto: false // 不自动上传
            // ,bindAction: '#saveBtn'
            ,before: function(obj){    //回调函数,
                //预读本地文件示例,不支持ie8
                obj.preview(function(index, file, result){
                    $('#preShow').attr('src', result); //图片链接(base64)
                });
            }
            ,done: function(res){        //回调成功之后的方法
                console.log(res);
                if (res.success) {
                    personalVm.personalInfo.photoPath=res.result.filePath;
                    console.log(personalVm.personalInfo.photoPath);
                    layer.msg('文件已上传', {icon: 1});
                } else {
                    layer.alert("上传失败");
                }
            }
            ,error: function(){         //回调失败之后的方法
                //请求异常回调
                layer.alert("上传失败");
            }
        });
    });
</script>
//注意:所有的回调函数,成功之后都可以用于图片的回显比如:before

java:
@Override
    public Message saveTempFilesOpen(MultipartFile[] file,String id)  {
        Message message = new Message();
        Map<String, Object> fm = new HashMap<String, Object>();
        Message m = new Message();
        try {
            if (file != null && file.length > 0) {
                // Date createTime = DateUtil.getCurrentDate(DateUtil.DATE_STYLE5);

                for (int i = 0; i < file.length; i++) {
                    MultipartFile f = file[i];
                    // 文件名
                    String fileName = f.getOriginalFilename();
                    // 保存后的文件名
                    String diskFileName = StringContentUtil.getUuid();
                    CommonsMultipartFile cf = (CommonsMultipartFile) f;
                    DiskFileItem fi = (DiskFileItem) cf.getFileItem();
                    File f1 = fi.getStoreLocation();
                    m = FileOperationUtil.saveFileToDisk(f1, fileName,
                            diskFileName, "/bbs/photo/upload/" + id);

                    /*
                     * 返回文件url地址
                     */

                    if (m.getSuccess()) {
                        try {
                            fm.put("fileUrl", (String) m.getResult().get("filePath"));
                            message.setSuccess(true);
                            message.setResult(fm);

                            // 删除文件
                            // FileOperationUtil.deleteFile2(path);
                        } catch (Exception e) {
                            Object o = m.getResult().get("savefile");

                            File ef = (File) o;
                            if (ef.exists()) {
                                ef.delete();
                            }
                            throw e;
                        }
                    }
                }
            }
            message.setResult(fm);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return m;
    }
html:
<div>
				<button type="button" class="layui-btn" id="photo">
					<i class="layui-icon">&#xe67c;</i>   上传图片的按钮
				</button>
			</div>
			<!--预览区域-->
			<div class="layui-upload-list">   图片预览区域
	      <img class="layui-upload-img" width="100px" height="80px" id="preShow"/>
	    </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
新颖网络上传插件(StorageWebPlug)是一个支持超大文件(2GB,可扩展)上传的COM控件, 具备断点续传,文件MD5验证,大大提高上传效率、节省带宽,有详细的上传进度显示,支持多种脚本语言,欢迎下载体验。免费提供JavaScript SDK包。 产品特点: 1、文件上传使用增强的FTP协议,用户使用浏览器就可以上传超大文件到服务器(支持上传超过1G的文件)。 2、支持断点续传,系统智能续传未上传的文件,续传操作更简单,更方便,更快捷。 3、支持文件批量上传, 一次可以上传多个文件. 上传时有详细的状态显示(包括单个文件进度,整体进度,传输速率,剩余时间等)。 4、新颖网络免费提供JavaScript SDK包。通过新颖网络提供的封装好的JavaScript类库用户可以快速的与现有系统整合。 5、StorageWebPlug提供完善的接口和帮助文档,开发文档。开发人员可以动态设置上传保存路径, 设置允许扩展名, 允许最大大小等,可自定义强。 6、支持各种代理(HTTP, Socket4, Socket5等)。 7、组件采用多线程机制来保证上传效率。 8、支持批量文件上传, 用户可以一次性上传批量文件. 客户端可以绑定HTML表单变量, 服务端并可以接收表单变量 9、服务端文件保存路径可以随意指定,服务端文件保存路径可以灵活变化。保存路径支持网络路径。 10、为提高安全性,服务端组件可以指定用户权限 11、可以限制上传单个文件大小, 控制上传带宽上限, 允许文件扩展名, 拒绝文件扩展名等 12、上传数据时会根据网络状况来控制数据包大小, 避免网络堵塞 13、控件采用ATL编写, cab包只有59KB, 用56k的modem下载不会超过12秒 14、服务端支持Windows 2000 Server/Windows 2003 Server/Windows NT/Windows XP/Unix/Linux等操作系统 15、通过新颖网络业界领先的设计水平打造的操作界面可以帮助您的系统和产品获得更高的品质。 产品介绍:http://www.ncmem.com/service_storagewebplug.aspx 下载地址:http://www.ncmem.com/download.aspx

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值