当前位置: 首页 > ai >正文

Java实现MinIO上传PDF文件并配置浏览器在线打开及vue2上传页面

win下载启动minio结合vue2实现文件上传浏览

一.下载启动minio

1. 下载minio

2.在D盘创建文件夹

1.首先创建minio文件夹再minio中依次创建bin/data/logs,如下图在这里插入图片描述
2.把下载的minio.exe放到minio->bin文件中
在这里插入图片描述

3.在bin文件夹中输入cmd打开命令框输入命令minio.exe server D:\minio\data启动minio,如下图则启动成功
在这里插入图片描述
4.访问minio服务器: 访问本地minio地址
5.创建bucket桶,相当于文件夹,用来存放文件,不同版本不同页面,本文是点击右下角加号并选择框中的create bucket,输入桶名test回车,创建成功
在这里插入图片描述
在这里插入图片描述
minio处理部分完成

二.需要启动file服务器,语言可以根据需求确定,本文是java语言

在这里插入图片描述
如上图: 1.需要添加Minio配置

# Minio配置
minio:url: http://127.0.0.1:9000# 账号accessKey: minioadmin# 密码secretKey: minioadmin# MinIO桶名字bucketName: test

2.启动file服务

三.vue2页面实现上传文件

在这里插入图片描述
即可访问
在这里插入图片描述

<template><div><el-table :data="tableData" style="width: 100%" border><el-table-column prop="name" label="姓名" min-width="80" align="center"></el-table-column><el-table-column prop="age" label="年龄" min-width="80" align="center"></el-table-column><el-table-column prop="sex" label="性别" min-width="80" align="center"></el-table-column><el-table-column label="头像" min-width="180" align="center"><template #default="scope"><el-uploadclass="upload-demo":action="upload.url":headers="upload.headers":on-preview="() => handlePreview(scope.$index)":on-remove="(file, fileList) => handleRemove(scope.$index, file, fileList)":before-remove="(file, fileList) => beforeRemove(scope.$index, file, fileList)"multiple:limit="3":on-exceed="() => handleExceed(scope.$index)":on-success="(response, file, fileList) =>handleSuccess(scope.$index, response, file, fileList)":file-list="scope.row.fileList || []"><el-button size="small" type="primary">点击上传</el-button><div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div></el-upload></template></el-table-column></el-table><div class="operation-buttons"><el-button type="primary" @click="printAllFiles"> 确定 </el-button><el-button @click="cancelDelivery">取消</el-button></div></div>
</template><script>
import { getToken } from "@/utils/auth";export default {data() {return {upload: {// 设置上传的请求头部headers: { Authorization: "Bearer " + getToken() },// 上传的地址url: process.env.VUE_APP_BASE_API + "/file/upload",},tableData: [{id: 1,name: "张三",age: 18,sex: "男",fileList: [],fileListUrl: [],},{ id: 2, name: "李四", age: 19, sex: "女" },{id: 2,name: "王五",age: 19,sex: "女",fileList: [],},{ id: 3, name: "小六", age: 20, sex: "男" },],};},methods: {handlePreview(index) {console.log(`预览文件,行索引:${index}`);},handleRemove(index, file, fileList) {console.log(`移除文件,行索引:${index}, 文件:${file.name}`);this.tableData[index].fileList = fileList;},handleExceed(index, files, fileList) {this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);},beforeRemove(index, file, fileList) {return this.$confirm(`确定移除 ${file.name}?`);},handleSuccess(index, response, file, fileList) {// 确保上传成功的文件信息被正确添加到 fileList 中console.log(`文件上传成功,行索引:${index}, 响应数据:`, response);let fileNameUrlList = fileList.map((file) => ({name: file.response.data.name,path: file.response.data.url,}));this.tableData[index].fileList = fileList;this.tableData[index].fileListUrl = fileNameUrlList;},printAllFiles() {// 打印整个表格的所有文件数据console.log("整个表格的文件数据:",this.tableData.map((row) => row.fileListUrl));},cancelDelivery() {// 取消this.$message.info("已取消");},},
};
</script>
<style scoped>
.operation-buttons {text-align: center;margin: 20px 0;
}
</style>
http://www.xdnf.cn/news/6262.html

相关文章:

  • PCIe数据采集系统
  • 解决:npm install报错,reason: certificate has expired
  • 【python实用小脚本-63】每天花费2小时修复黑白照片,Python一键转换,节省90%时间(建议收藏)
  • 【hadoop】Flume的相关介绍
  • Trae - 国人Cursor的免费平替产品
  • idea经常卡顿解决办法
  • ctfshow权限维持
  • 城市扫街人文街头纪实胶片电影感Lr调色预设,DNG/手机适配滤镜!
  • 2025 Java 微信小程序根据code获取openid,二次code获取手机号【工具类】拿来就用
  • 力扣-46.全排列
  • 嵌入式培训之数据结构学习(三)gdb调试、单向链表练习、顺序表与链表对比
  • RPC协议及库介绍
  • 中国近代史1
  • promise的说明
  • STM32入门笔记(05):内部高速8Mhz时钟最大时钟可以设置 64 Mhz?如何修改system_stm32f10x.c里面的代码?
  • STM32F103_LL库+寄存器学习笔记23 - PWM波形输出及软件方式调整周期与占空比
  • PyQt5教程:QComboBox下拉列表框的全面解析与实战应用
  • 保持视频二维码不变,更新视频的内容
  • 300. 最长递增子序列
  • PPO算法:一种先进的强化学习策略
  • 深度剖析LLM的“大脑”:单层Transformer的思考模式探索
  • NetSuite CSV导入更新Item Fulfillment相关信息
  • 小白学习java第18天(上):spring
  • 牛客——签到题
  • MODBUS与PROFIBUS-DP通讯的螺杆空压机控制系统设计与监控实况
  • 宝塔基于亚马逊云服务器安装mysql5.7失败问题记录
  • redis 命令大全整理
  • 嵌入式STM32学习——外部中断震动感应灯
  • java8新特性
  • 第七节第二部分:接口的综合案例