テキスト ファイルは簡単に作成できますが、ファイルをサーバーに保持する必要は避けたいと考えています。
メモリ内にテキスト ファイルを作成し、それを ajax 経由で返すにはどうすればよいですか? ファイル自体が返され、サーバーにファイルが保持されません。ajax である必要はありませんが、可能な限りポストバックを避けたいと考えています。
テキスト ファイルは簡単に作成できますが、ファイルをサーバーに保持する必要は避けたいと考えています。
メモリ内にテキスト ファイルを作成し、それを ajax 経由で返すにはどうすればよいですか? ファイル自体が返され、サーバーにファイルが保持されません。ajax である必要はありませんが、可能な限りポストバックを避けたいと考えています。
MVCまたはWebFormsを使用している場合、Vijayの答えは正しいです。
ポストバックの防止について、ポストバックを防止するために ajax を使用する必要はありません。
MVC を使用している場合はwindow.location
、js でアクション メソッドを使用してポイントするだけです。何かのようなもの:
// In your controller:
public class HomeController : Controller
{
public FileResult GetFile2(int id)
{
if (SomeCondition)
{
return null;
}
var fileName = "MyResult.txt";
var content = "Here's the result";
var contentType = "text/plain";
return File(Encoding.ASCII.GetBytes(content), contentType, fileName);
}
// And in your view/js file:
window.location.href = ('/Home/GetFile?id=1');
HttpHandler
また、Web フォームを使用している場合は、ダウンロード リンクを処理する を作成するのが最善の方法だと思います。優れたチュートリアルはこちらにあります。