0

私のasp.netmvcアプリケーションを持っています

  • ファイルのサム画像をiframeに読み込まれたaspxページで囲みます。[開く/保存]ダイアログボックスでファイルを開きたい。ファイルは画像データ型でデータベースにアップロードされます。私のaspxページには次のhtmlが含まれています。

    <li class="thumpimage">
                            <%=Html.Hidden("attachmtId", item.ILDAttachmentId) %>
                            <img src="<%=imgurl %>" alt="test" height="81" width="76" />
                            <span class="thumb_descrp">
                                <%=item.ILDAttachmentName %></span></li>
    

    jqueryの部分は次のとおりです

    $(document).ready(function() {
    
            $(".thumpimage").click(function() {
                var attchmtId = $("#attachmtId").val();
                alert(attchmtId);
                $.post('/Instruction/OpenInstnDoc', { attchId: attchmtId });
            });
        });
    

    そして、コントローラーの機能は

     public ActionResult OpenInstnDoc(int attchId)
        {
    
            Attachment objAttach = new Attachment();
            objAttach = objAttach.GetAttachmentById(attchId);
    
            byte[] theData = objAttach.BinaryFile;
            Response.AddHeader("content-length", theData.Length.ToString());
            Response.AddHeader("content-disposition", "inline; filename=" + objAttach.AttachmentName + "");
            return File(theData, objAttach.MineType);
        }
    

    ファイルを開くことができません。誰かがこれについて私を助けることができますか?

  • 4

    1 に答える 1

    0

    ajaxを使用してファイルコンテンツをブラウザにストリーミングしたり、ファイルを開く/保存するダイアログが表示されることを期待したりすることはできません。$ .postを呼び出す代わりに、

    $(document).ready(function() {
    
        $(".thumpimage").click(function() {
            var attchmtId = $("#attachmtId").val();
            alert(attchmtId);
            //$.post('/Instruction/OpenInstnDoc', { attchId: attchmtId });
            window.location.href = "/Instruction/OpenInstnDoc/" + attchmtId;
        });
    });    
    
    于 2011-08-10T07:05:14.540 に答える