2013-04-11 58 views

回答

2

目前尚不清楚你想保存什麼。在Web應用程序,你可以使用文件輸入到文件上傳到服務器:

<input type="file" name="file" /> 

有關在ASP.NET MVC應用程序上傳文件,你可能需要看看following post的更多信息。

另一方面,如果您希望用戶能夠從服務器下載某個文件並提示他想要保存該文件的位置,則可以從控制器操作返回文件結果並指定MIME類型和文件名:

public ActionResult Download() 
{ 
    var file = Server.MapPath("~/App_Data/foo.txt");\ 
    return File(file, "text/plain", "foo.txt"); 
} 

也存在File方法,使您可以動態地生成一個文件,並把它作爲一個流給客戶端的其他重載。但是,從服務器下載文件時,在Web應用程序中理解的重要部分是Content-Disposition標頭。它有兩個可能的值:inlineattachment。例如與上面的代碼下面的頭將被添加到響應:

Content-Type: text/plain 
Content-Disposition: attachment; filename=foo.txt 

... contents of the file ... 

當瀏覽器從服務器接收到這個響應會提示用戶另存爲對話框,允許他選擇的位置,他的電腦來存儲下載的文件。


UPDATE:

這裏是你如何能實現在Web應用程序類似:

public ActionResult Download() 
{ 
    var file1 = File.ReadAllLines(Firstfilpath); 
    var file2 = File.ReadAllLines(2ndfilpath); 
    var mergedFile = string.Concat(file1, file2); 
    return File(mergedFile, "text/plain", "result.txt"); 
} 
+0

達林,我得到兩個文件在我的服務器端。我需要合併這兩個文件並保存單個文件。我需要獲取用戶手動定位的單個文件名如何可能? – 2013-04-11 05:52:36

+0

只有一個文件可以流式傳輸到客戶端。您可以將這兩個文件壓縮到一個ZIP文件中,然後將此ZIP文件返回給客戶端。如果通過合併*你的意思是別的,那麼請解釋一下。例如,也許這些文件是一些特殊類型,可以合併。但首先你必須提供關於你的特定場景的更多細節。 – 2013-04-11 05:54:36

+0

現在檢查我的帖子。這是Windows應用程序。如何阻止這個Web應用程序? – 2013-04-11 05:58:20

相關問題