Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HttpPostedFileBase每次都返回null_Javascript_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript HttpPostedFileBase每次都返回null

Javascript HttpPostedFileBase每次都返回null,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我的客户端javascript代码是 function SendMail() { debugger; var decpr = tinyMCE.get('taskdescription').getContent(); var To = $('#EmailTo').val(); var cc = $('#EmailCC').val(); var sub = $('#Subject').val();

我的客户端javascript代码是

function SendMail() {
        debugger;
        var decpr = tinyMCE.get('taskdescription').getContent();       
        var To = $('#EmailTo').val();
        var cc = $('#EmailCC').val();
        var sub = $('#Subject').val();
        var Desc = $(decpr).text();
        var UserName = $('#resname').val();
        $("#frm1").attr('action', '/Task/SendWeeklyReport.aspx?To=' + To + '&cc=' + cc + '&subject=' + sub + '&desc=' + Desc + '&Username=' + UserName);
        $("#frm1").attr('enctype', 'multipart/form-data');
        $("#frm1").attr('method', 'post');           
        $('#frm1').ajaxSubmit({
            datatype: 'text',
            success: function (data, text) {
                $("#frm1").removeAttr('action');
                $("#frm1").removeAttr('enctype');
                $("#frm1").removeAttr('method');
            },
            error: function (request, status, error) {

            }
        });

    }
控制器中的代码隐藏函数是

    [HttpPost]
            public virtual ActionResult SendWeeklyReport(HttpPostedFileBase[] fileval, string To, string cc, string subject, string desc, string Username)
            {

                foreach (var file in fileval)
                {
                    // some file manipulation
                }
             }
我在fileval中得到一个空值

我的文件选择是

<input type="file" name="fileval" multiple id="fileselect" style="margin-left: 15px; position: relative; width: 96px" /> 

我正在获取除文件外传递的所有其他值。

@avinash我将代码附加到这里。我已经测试过了,效果很好。我希望这有助于:-

您可以在控制器中插入断点以检查其他参数的值

HTML

JS

控制器代码


我很高兴能帮上忙:-
<div>
<label>To Email</label>
<input type="text" id="To" class="form-control" />
<br />
<label>Cc Email</label>
<input type="text" id="CC" class="form-control" />
<br />
<label>Subject</label>
<input type="text" id="Subject" class="form-control" />
<br />
<label>Desc</label>
<textarea id="Desc" class="form-control"></textarea>
<br />
<label>Choose File</label>
<input type="file" style="width: 86% !important;" class="form-control" id="fileUpload" />
<br />
<input type="button" onclick="SaveFile()" class="btn btn-primary" value="Save" />
function SaveFile() {
    var ToEmail = $("#To").val();
    var CcEmail = $("#CC").val();
    var Subject = $("#Subject").val();
    var Desc = $("#Desc").val();

    var fileUploaded = $("#fileUpload").get(0);
    var files = fileUploaded.files;
    var fileData = new FormData();
    for (var i = 0; i < files.length; i++) {
        fileData.append(files[i].name, files[i]);
    }

    fileData.append("ToEmail", ToEmail);
    fileData.append("CcEmail", CcEmail);
    fileData.append("Subject", Subject);
    fileData.append("Desc", Desc);

    $.ajax({
        url: "@Url.Action("UploadAndSaveFile", "Employee")",
        type: "POST",
        dataType: "json",
        contentType: false,
        processData: false,
        data: fileData,
        success: function (data) {
            $("#fileUpload").val('');
        },
        error: function (response) {
            alert("File uploading failed due to an error. Please Try again!");
        }

    });

}
 [HttpPost]
    public JsonResult UploadAndSaveFile(string ToEmail, string CcEmail, string Subject, string Desc)
    {
        if (Request.Files.Count > 0)
        {
            //  Get all files from Request object  
            HttpFileCollectionBase files = Request.Files;
            for (int i = 0; i < files.Count; i++)
            {
                HttpPostedFileBase file = files[i];
                byte[] fileContent = new byte[file.ContentLength];
                file.InputStream.Read(fileContent, 0, Convert.ToInt32(file.ContentLength));
                string Filename = file.FileName;
                string extension = Path.GetExtension(file.FileName);
            }
        }
        return Json("", JsonRequestBehavior.AllowGet);
    }