我正在使用swfupload将一些 excel 文件上传到我的服务器。当上传的文件为旧 (< 2003) 格式时,一切正常。我可以上传文件,重新下载,并确认它是相同的。
问题是,每当我以新的开放 xml 格式(> 2007)上传文件时。当我重新下载该文件并打开它时,我收到一个错误:
Excel 在“文件名”中发现不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击“是”。
我检查了服务器并确认那里也存在相同的错误。
附加信息:
- 文件存储在服务器文件系统(不是 DB BLOB)上
- 如果我“恢复”文件,内容似乎与原件完全相同
- 同样的系统适用于 Excel < 2003 文件和图像文件
- 我将文件保存在服务器上,
File.WriteAllBytes(filePath, data)
其中data
生成的位置是upload.InputStream.Read(data, 0, upload.ContentLength)