Ajax ファイルダウンロード MVC(vb)

61 篇文章 1 订阅
48 篇文章 1 订阅

view:

$(function () {
        $("#DownloadAttachment").click(function () {
            $.ajax(
            {
                url: '@Url.Action("DownloadAttachment", "PostDetail")',
                contentType: 'application/json; charset=utf-8',
                datatype: 'json',
                data: {
                    studentId: 123
                },
                type: "GET",
                success: function () {
                    window.location = '@Url.Action("DownloadAttachment", "PostDetail", new { studentId = 123 })';
                }
            });

        });
    });
contoller:
自己修改的方法    
Public Function DownFile() As FileStreamResult
            Dim filePath As String = "C:\TEMP\bbb.txt"
            Dim fileName As String = "お願い.txt"
            Dim absoluFilePath As String = filePath 'Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["AttachmentPath"] +      filePath)
            Return File(New System.IO.FileStream(absoluFilePath, System.IO.FileMode.Open), "application/octet-stream", Server.UrlEncode(fileName))
        End Function
网上的方法
public ActionResult DownloadAttachment(int studentId)
{          
    // Find user by passed id
    // Student student = db.Students.FirstOrDefault(s => s.Id == studentId);

    var file = db.EmailAttachmentReceived.FirstOrDefault(x => x.LisaId == studentId);

    byte[] fileBytes = System.IO.File.ReadAllBytes(file.Filepath);

    return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, file.Filename);                       

}

http://stackoverflow.com/questions/30704078/how-to-download-a-file-through-ajax-request-in-asp-net-mvc-4


//ファイル出力ボタン
$("#btnDownLoadFild").click(function () {

    $.ajax({
        data   : "",
        type   : "POST",
        url    : '@Url.Action("CheckExistDownLoadFile", "controllerName")',
        success: function (retVal) {
            if (retVal == "Exist") {
                $.ajax({
                    url        : '@Url.Action("DownloadFile", "controllerName")',
                    contentType: 'application/json; charset=utf-8',
                    datatype   : 'json',
                    type       : "GET",
                    success    : function () {
                        window.location = '@Url.Action("DownloadFile", "controllerName")';
                    },
                    error    : function () {
                        //ダウンロード時、エラーが発生しました。
                    }
                    
                });
            } else {
                //ダウンロードファイルが存在していない
            }


        }


    });


});
------------------------
''' <summary>
''' ファイルダウンロード処理
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Public Function DownloadFile() As FileStreamResult
    Dim fileName As String = "xxxx.csv"
    Dim filePath As String = "xxx\xxx\" & fileName
    Return File(New System.IO.FileStream(filePath, System.IO.FileMode.Open), "application/octet-stream", Server.UrlEncode(fileName))
End Function




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值