簡體   English   中英

在IIS7中部署后,文件附件不起作用

[英]File attachments not working after deployment in IIS7

在下面的代碼中用於附加文件。 當我從Visual Studio運行應用程序時,它的工作正常。 我將應用程序部署在IIS7中(在我的機器中)。 從部署站點,我無法附加文件。 請讓我知道如何解決此問題。 視圖:

 $("#lnkAddAttachment").click(function (e) 
 {
    oFiles = document.getElementById("txtFile").files[0],
    nFiles = oFiles.size;

var selectedFile = document.getElementById("txtFile").files[0];
    var size = selectedFile.size;
    var name = selectedFile.name;
    var type = selectedFile.contentDocument;

var xhr = new XMLHttpRequest();
    var fd = new FormData();
    fd.append("file", document.getElementById('txtFile').files[0]);
    xhr.open("POST", "/ESignature/getFile/", true);
    xhr.send(fd);
    xhr.addEventListener("load", function (event) {
        }, false);


    var url = '@Url.Content("~/")' + "ESignature/Registration";
    $('#gridAttachments').load(url + ' #gridAttachments');


$('#txtDescription').val('');
    $('#txtFile').val('');
    return false;
})

控制器:

    [HttpPost]
    public ActionResult getFile(HttpPostedFileBase file)
    {
        BRUser brUser = new BRUser(); 
            AttachedFile attachedFile = new AttachedFile();

            attachedFile.FileType = "Passport";
            attachedFile.Filename = System.IO.Path.GetFileName(@DateTime.Now.Ticks + file.FileName);
            attachedFile.Filesize = (file.ContentLength / 1024);
            file.SaveAs(Server.MapPath("~/ESignatureUploads/" + attachedFile.Filename));
            attachedFile.Filepath = "~/ESignatureUploads/" + attachedFile.Filename;

            if (Session["ESAttachedFiles"] != null)
            {
                brUser.AttachedFiles = (List<AttachedFile>)Session["ESAttachedFiles"];
            }

            brUser.AttachedFiles.Add(attachedFile);
            Session["ESAttachedFiles"] = brUser.AttachedFiles;
            return View("Registration", brUser);
 }

    [HttpGet]
    public ActionResult Registration()
    { 
            BRUser objuser = new BRUser();             
            if (Session["ESAttachedFiles"] != null)
            {
                objuser.AttachedFiles = (List<AttachedFile>)Session["ESAttachedFiles"];
                TempData.Keep();
            }
            return View(objuser);

    }

在下面的功能中

$("#lnkAddAttachment").click(function (e) 

我更改了網址

xhr.open("POST", "/ESignature/getFile/", true);

 xhr.open("POST", "~/ESignature/getFile/", true);

它解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM