2009-10-20 28 views
0

我在SQL Server中存儲MS Office文件,如PowerPoint(.ppt,.pptx)和Word(.doc,.docx),並且需要通過ASP.Net應用程序將這些文件保存到服務器上的臨時文件目錄。我從數據庫中獲取文件並將其作爲字節數組存入應用程序。但是我不知道的是如何將字節數組作爲文件以適當的格式(.ppt/.pptx等)保存在指定的目錄位置。將存儲在SQL Server中的MS Office文件直接保存到帶有ASP.Net的服務器目錄中

我知道我可以使用代碼來設置Response.ContentType類似於「application/ms-word」,然後將Response.AddHeader的「content-disposition」設置爲「attachment」。但是,這會打開一個「另存爲」對話框。我需要做的是將文件直接保存到服務器上的一個目錄中(以便我可以對其進行一些更進一步的操作)。

回答

1

你只需要這樣:

File.WriteAllBytes(
    Path.Combine(Server.MapPath("/temp_folder"), "YourFileName.ext"), 
    yourByteArray); 
+0

雖然我已經upvoted這一點,我可能會建議使用Server.Mappath(「/」)是,嗯,也許不是不正確的地方要放的文件這種性質? 因此,如上所述 - 但用更合適的「指定目錄位置」替換Server.MapPath位 – Murph 2009-10-20 15:09:47

+0

@ Rubens Farias:非常感謝您的建議 - 我會試試這個。 我需要放置在一個臨時文件夾中,以便可以添加由應用程序生成的各種內容(圖像和文本)。該文件將被保存回數據庫,或通過其他進程下載)。我假設你不能直接使用辦公文檔(2007之前的格式),但需要保存它,打開Office應用程序的一個實例,然後對文件執行各種VBA樣式的操作(沿着這些操作行:support.microsoft.com/kb/222929/) – 2009-10-20 15:20:59

+0

@Murph,好吧,我們需要留在網站vdir;當然,命題喬會將它保存在一個更好的位置。 ty爲您的評論! – 2009-10-20 16:19:12

相關問題