2010-11-03 107 views
1

我导出HTML表发送的数据作为HTML表串并设置内容头部擅长:确定HTML字符串的内容长度

Dim html as String = "<table><tr><td>example<td></tr></table>" 

context.Response.Clear() 
context.Response.AddHeader("Content-Disposition", "attachment; filename=" & "exceldata-" & Now.ToString("yyyyMMddHHmmss") & ".xls") 
'context.Response.AddHeader("Content-Length", ????) 
context.Response.ContentType = "application/octet-stream" 
context.Response.Write(response) 
context.Response.End() 

是否有设置内容 - 一个简单的方法基于html字符串大小的长度?或者我应该让它空白,反正...会是不错的内容长度最好...

我回国这在asp.net使用GenericHandler

回答

1

这似乎太容易了,但它不仅仅等于html.Length?

+0

我猜如果每个字符都是一个字节,那会有道理吗? (我希望它是这么简单:D) – davidsleeps 2010-11-03 02:08:40

+0

这样的情况总是如此吗? – davidsleeps 2010-11-03 02:10:27

+0

约翰在下面的答案是更好的,去那。 – benr 2010-11-03 02:26:19

1

我没有使用ASP.NET,但我想的是,长​​度()方法返回在字符,而不是字节串的长度,所以如果您的服务器使用UTF-8或Unicode来提供页面,它将不起作用。

正如在另一个答案中指出的那样,让服务器为您填充它。如果你仔细想想,当你从ASP生成HTML页面时,你不必添加它,因为Web服务器会根据ASP模块的响应生成它。