doc/pdf 正常,docx 下載後 Word 提示「文件損壞」,但點擊「是」仍能打開內容完整。
Flush()、Close(),或讀取時截斷。Encoding.GetString)。BinaryReader/Writer 或 FileStream,無任何文本編碼轉換。// 存入
using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read))
using (var ms = new MemoryStream()) {
fs.CopyTo(ms);
cmd.Parameters.Add("@data", SqlDbType.VarBinary, -1).Value = ms.ToArray();
}
// 讀取並下載
byte[] data = (byte[])cmd.ExecuteScalar();
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
Response.AddHeader("Content-Disposition", "attachment; filename=xxx.docx");
Response.BinaryWrite(data);
Response.End();