【发布时间】:2019-04-01 01:27:35
【问题描述】:
我有一个 web 应用程序正在运行,laravel 后端,用户上传 Excel 电子表格,然后将其存储在数据库中,base64 编码。大多数情况下这工作正常并且文件被存储,看起来像:
data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,UEsDBBQABgAIAAAAIQBi7p1oXgEAAJAEAAA
然而,最近一位用户遇到了问题,她的文件被上传并存储为:
data:application/octet-stream;base64,UEsDBBQACAgIAGVKWk0AAAAAAAAAAAAAA
如果我下载她的文件,它们会显示为完全正常的 Excel 工作表,如果我再次上传它们,即使没有打开它们,它们也会作为 XML 电子表格上传。
我从哪里开始寻找问题?这种编码是在什么阶段确定的?是上传操作系统、上传浏览器还是 Laravel 在幕后做些什么?我不是 Laravel 专家。
【问题讨论】:
-
最近发生了什么变化?她是在使用不同的浏览器,还是更改了 Excel 版本,还是以不同的文件格式保存文件?也许它曾经是 .xls,而她将其更改为 .xlsx。
-
我发现她使用的是 Chromebook,而电子表格最初是 Google 表格。必须找到一个 Chromebook 才能重现..
标签: excel laravel file-upload base64