首页 > 系统相关 >基于Base64上传Excel文件(使用nginx座位静态服务器)

基于Base64上传Excel文件(使用nginx座位静态服务器)

时间:2024-09-30 17:54:25浏览次数:10  
标签:base64 name uploadData Base64 Excel nginx reader fileUrl String

1.导入依赖

 <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>5.8.12</version>
    </dependency>

    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>4.1.2</version>
    </dependency>

2.后端代码

     private static  String fileUrl = "D:/software/nginx-1.23.4/html/";
 public String upload(@RequestBody UploadInfo uploadInfo) {

        String name = uploadInfo.getName();
        String[] imgData = StrUtil.splitToArray(uploadInfo.getBase64(), "base64,");
        byte[] bytes = Base64.decode(imgData[1]);
        name =  IdUtil.fastSimpleUUID() + "_" + name;
        FileUtil.writeBytes(bytes,"D:/software/nginx-1.23.1/html/images/"+name);
       String ext  = FileUtil.getSuffix(name); 
        switch (ext) {
            case "mp4":
               fileUrl = fileUrl + "video/"+name;        
                break;
            default: ;               fileUrl = fileUrl + "images/"+name;
                break;
        }


        return "http://img.207.com/images/"+name;
    }

   

3.前端代码

const onChange = (uploadFile: any, uploadFiles: any) => {
    uploadData.name = uploadFile.name
    console.log(uploadData.name)
    const file = uploadFile.raw
    let reader = new FileReader()
    reader.readAsDataURL(file)
    reader.onload = () => {
        uploadData.base64 = reader.result
        callUploadApi()
    }
}
const callUploadApi = () => {

    uploadApi.upload.call({ name: uploadData.name, base64: uploadData.base64 }).then((res: any) => {

        imageUrl.value = getFileImg(res.data)
    })
}
const getFileImg = (url: string) => {
    let ext = url.split('.')[url.split('.').length - 1]
    switch (ext) {
        case "xlsx":
            return "data:image/png;base64,xxxx"
            break;
        default:
            return url
    }
}
</script>

4.使用原生javascript

<input type="file" onchange="upload(event)">
<script>
    function upload(e) {
        let file = e.target.files[0];
        let reader = new FileReader()
        reader.readAsDataURL(file)
        reader.onload = () => {
            console.log(reader.result);
        }
    }
</script>

标签:base64,name,uploadData,Base64,Excel,nginx,reader,fileUrl,String
From: https://blog.csdn.net/zhzjn/article/details/142661645

相关文章

  • ​Excel只能打印一部分表格的原因、解决方法
    怎么办?Excel文件打开之后,正常编辑完了,但是打印文件的时候只打印出表格文件的一部分数据,这是什么原因呢?怎么解决呢?原因一:如果你在打印界面,预览打印内容的时候发现,内容是空的或者只有一个单元格,但是工作表中的表格数据并没有消失,就是没办法打印出整个表格。这是因为在打印设......
  • NGINX 提示 "Primary script unknown" 错误
    起因我在home目录下打算安装thinkphp进行学习,采用nginx作为web服务器,遇到了错误,记录如下.具体的错误提示在nginx的错误日志error.log中提示如下:FastCGIsentinstderr:"Primaryscriptunknown"whilereadingresponseheaderfromupstream翻译过来,大致的......
  • 【Linux】Docker下载与使用-nginx
    目录一、Docker介绍     二、Docker结构三、下载Daocker1.在linux上下载docker,执行以下命令即可:2.开启docker3.执行以下操作并进行使用四、在Docker上安装nginx一、Docker介绍             Docker:是给予Go语言实现的开源项目。   ......
  • Excel:常用函数
    一、DAYS(返回两个日期之间的天数)以下演示是在windows操作系统环境,office软件进行操作的1.1单元格设置日期格式1.2设置Days函数公式:=DAYS(C2,B2)全部天数二、SUM(求和)公式:=SUM(B2:C2)三、SUMIFS(多条件求和)3.1统计销售部报销金额公式:=SUMIFS(D:D......
  • autohotkey通过com对象控制excel的权限问题
    用途主要是一些需要自动化录入数据或者批量修改表格属性的场景吧,我个人的需求更多是根据一些外部源来输入数据到表格,当然读取表格的数据做进一步处理也是有的为什么不用自带的vba甚至pyvba在快捷键管理这方面和ahk比不了,py也一样的,快捷键管理上ahk当然是更加方便的选择,这......
  • java实现导出excel添加水印或excel转pdf并添加水印
    1.通过Map对象存入excel模板中获得excel表,并添加水印importorg.apache.poi.xssf.usermodel.XSSFWorkbook;publicstaticvoidexportExcelWatermark(TemplateExportParamstemplatePath,Map<String,Object>map,StringfileName,StringmarkText,HttpServletResponseres......
  • nginx:limit_req导致nginx 503 Service Temporarily Unavailable
    一,客户端浏览器报错:nginx503ServiceTemporarilyUnavailable问题的原因:http下:limit_req_zone$binary_remote_addrzone=peripreq:20mrate=10r/s;此server下:limit_reqzone=peripreqburst=10nodelay; 此页面上有多个同域名下的css/js/图片/字体文件的连接,所......
  • SpringBoot+Docker +Nginx 部署前后端项目Hf
    部署SpringBoot项目(通关版)一、概述使用java-jar命令直接部署项目的JAR包和使用Docker制作镜像进行部署是两种常见的部署方式。以下是对这两种方式的概述和简要的优劣势分析:1.1、使用java-jar命令直接部署项目的JAR包概述:通过java-jar直接部署项目的JAR包是最简单直......
  • EasyExcel导出文件基本流程以及原理分析 学习笔记(持续更新)
    EasyExcel导出文件基本流程导出文件基本流程获取数据首先获得需要导出的文件的数据内容,用一个list保存List<SysStudent>list=sysStudentService.queryList(sysStudent);定义文件名给导出的文件定义一个名字,可以添加日期或者根据输入添加其他信息,保证文件名唯一S......
  • 如何做好游戏中美术项目管理?TAPD带你挣脱海量Excel困扰
    这两年国内手游竞争日趋白日化,版号的限制、买量内卷、国内用户增量日趋饱和,大厂更是把游戏美术和宣发美术卷到了影视级的高度,游戏美术设计的方向早已走向了全球化。有别于其他项目类别,在游戏项目中,尤其是大型游戏项目团队,都设立了美术项目经理的岗位,称之为APM。作为一个APM,......