2010-11-03 72 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模塊的響應生成它。