Element Ui 之 文件上传组件的使用 Upload

这篇具有很好参考价值的文章主要介绍了Element Ui 之 文件上传组件的使用 Upload。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近正好学到了Element Ui的文件上传组件,虽然不太难但一个人琢磨还是整了很久

以下是我整理的规范性文件上传组件为例

文件上传组件

前端

    <!--action:设置文件上传路径
        limit:设置图片上传的最大数量
        name:设置文件上传的参数名称
        handleRemove:图片上的删除按钮调用的方法
    -->
    <el-upload
        action="/upload"
        limit="1"
        name="picFile"
        list-type="picture-card"
        :on-preview="handlePictureCardPreview"
        :on-remove="handleRemove">
        <i class="el-icon-plus"></i>
    </el-upload>
    <el-dialog :visible.sync="dialogVisible">
        <img width="100%" :src="dialogImageUrl" alt="">
    </el-dialog>
    <el-button type="success">上传图片</el-button>

后端

此处的String dirPath = "D:/files"可以选取你电脑上的指定位置

@RequestMapping("/upload")
public String upload(MultipartFile picFile){// 参数名需要与组件中制定的name属性名一致
    String fileName = picFile.getOriginalFilename();// 得到文件的初始文件全名
    System.out.println(fileName);
    // 文件数据需要存储到数据库服务器磁盘中
    // 如果使用文件全名容易出现文件重名覆盖问题
    // 使用UUID.randomUUID生成唯一的16进制唯一标识符可避免这中问题
    String suffix = fileName.substring(fileName.lastIndexOf("."));// 截取后缀名
    fileName = UUID.randomUUID()+suffix;
    System.out.println(fileName);
    // 此时生成的文件名是唯一的
    // 如果网站传输数据量过大,将上传的文件都存到一个文件夹中会使文件夹中的文件太多
    // 此时最好给文件做一个分流处理
    // 计划以当前上传事件为节点生成不同的文件目录达到此效果
    String dirPath = "D:/files";// 指定存储位置
    // 准备日期路径:                                  /2023/03/07/文件名
    SimpleDateFormat format = new SimpleDateFormat("/yyyy/MM/dd/");
    String datePath = format.format(new Date());// 得到当前系统使时间
    File dirFile = new File(dirPath+datePath);
    if(!dirFile.exists()){
        dirFile.mkdirs();//如果当前日期的文件夹不存在就创建一个
    }
    System.out.println(dirFile.getPath());// 文件路径为D:\files\2023\03\07
    String filePath = dirPath+datePath+fileName;// 图片地址的全名
    picFile.transferTo(new File(filePath));
    // 将文件的时间路径+文件路径响应给客户端,做其他操作
    return datePath+fileName;
}

接上面

组件之文件删除

// 此时发出删除图片的请求
handleRemove(file, fileList) {
//    组件中handleRemove中传递来的file参数有一个response方法,他是刚才上传图片时返回的时间路径+文件路径
//    调用file.response,以此路径为参数传递到后端做删除操作    
    console.log(file, fileList);
    axios.get("/remove?url="+file.response).then(function (){
        console.log("删除完成!");
    })
}
@RequestMapping("/remove")
public void remove(String url){
    System.out.println("url = " + url);
    // 接收到的路径与不变的文件路径进行拼接获得全路径名做删除操作
    File file = new File("D:/files" + url);
    file.delete();
}

如有错误,欢迎指出文章来源地址https://www.toymoban.com/news/detail-547015.html

到了这里,关于Element Ui 之 文件上传组件的使用 Upload的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element UI el-upload组件实现视频文件上传视频回显

    项目中需要提供一个视频介绍,使用Vue+Element UI中的el-upload组件实现视频上传及进度条展示,后台提供视频上传API并返回URL, 百度找了一番后最终实现了。 HTML JS data css 成功后的截图  

    2024年02月06日
    浏览(35)
  • 扩展element-ui el-upload组件,实现复制粘贴上传图片文件,带图片预览功能

    控件改造 在窗口的 el-form 控件参数中添加 @paste.native 事件,事件绑定方法名 handlePaste 也可以在其他控件中添加事件监听,看个人需求。 注意: 监听粘贴事件时,需要当前页面先获取焦点,否则无法正常监听, 可以在页面加载后调用 focus() 获取焦点 粘贴功能Js部分参考资料

    2023年04月08日
    浏览(59)
  • 使用element-ui的Upload 上传文件

    使用Upload 进行文件上传 https://element.eleme.cn/#/zh-CN/component/upload 注:当文件和一些其他数据(姓名,年龄)进行一起上传时候可分为两种过程 第一种:单独的文件上传地址,上传完文件后,后端返回该文件的地址,前端将该地址同其他数据(姓名,年龄)再次上传。 第二种:

    2024年02月12日
    浏览(34)
  • Element UI | Upload 使用submit方法手动上传文件

    点击上传文件按钮不立刻进行上传,而是点击提交后再调用上传接口,和表单一起提交。 js:  判断文件没有上传即先进行文件上传,上传文件成功后在调用表单上传接口,否则直接调用接口上传表单。submit为element ui内部方法。表单上传接口一般传递文件id。

    2024年02月15日
    浏览(29)
  • vue前端直接使用element-ui的upload组件上传到阿里云OSS存储

    因为公司的服务器比较拉吧,所以老大决定将数据文件等上传到阿里云服务器,通过ali-oss方式,这样的话读取文件也比较快  (能看到这说明什么安装element-ui都会了,我就不详细介绍了,直接跳过)  在执行下面操作之前,你要确定你的阿里云能看到上边这个页面   这里主

    2024年02月10日
    浏览(45)
  • element-ui图像组件、上传组件、分页组件

    el-image:保留了原生的img的属性 1、导航方向:通过mode属性设置 2、菜单项 示例: (1)使用elementUI的上传组件将图片上传到服务器并保存到数据库中 (2)在el-table控件中将上传的图片显示出来 实现过程: (1)给数据库中的数据表增加一列(image_url):保存图片在服务器中

    2024年02月07日
    浏览(33)
  • element ui 上传图片以及pdf组件

    FileUpload.vue template   div     el-upload       :action=\\\"action\\\"       :file-list=\\\"fileList\\\"       list-type=\\\"picture-card\\\"       :limit=\\\"limit\\\"       :accept=\\\"accept\\\"       :class=\\\"hideUpload || uploading ? \\\'hideUpload\\\' : \\\'\\\'\\\"       :on-error=\\\"handleError\\\"       :before-upload=\\\"beforeUpload\\\"       :on-success=\\\"handleImageSucce

    2024年02月16日
    浏览(36)
  • 使用element-ui的el-upload进行excel文件上传与下载

    需求:前端上传文件后,后端接受文件进行处理后直接返回处理后的文件,前端直接再将文件下载下来。 通常我们都是直接使用el-upload的action属性来直接完成文件上传的操作,如果要进行后续文件的直接下载,可以在on-success中用代码进行操作,若存在401权限问题也可以直接

    2024年02月11日
    浏览(32)
  • element ui表单上传文件

    实现提交表单和上传文件同步进行,把表单数据作为upload组件上传附带的额外参数。 methods:  

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包