Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Jquery 在asp.net mvc中使用ajax post上载文件_Jquery_Ajax_Asp.net Mvc_File Upload - Fatal编程技术网

Jquery 在asp.net mvc中使用ajax post上载文件

Jquery 在asp.net mvc中使用ajax post上载文件,jquery,ajax,asp.net-mvc,file-upload,Jquery,Ajax,Asp.net Mvc,File Upload,我想上传一个文件作为发送电子邮件,如果用户选择一个文件。这是我的密码 function SendCollectiveMail() { var despatchTypeId = $("#DespatchTypeId").val(); var despatchGroupId = $("#DespatchGroupId").val(); var despatchBalanceId = $("#BalanceOptionId").val();

我想上传一个文件作为发送电子邮件,如果用户选择一个文件。这是我的密码

  function SendCollectiveMail() {


        var despatchTypeId = $("#DespatchTypeId").val();
        var despatchGroupId = $("#DespatchGroupId").val();
        var despatchBalanceId = $("#BalanceOptionId").val();
        if (despatchBalanceId === "")
            despatchBalanceId = 0;

        var blokId = $("#BlockId").val();

        if (blokId === "")
            blokId = 0;


        var startDate = $("#StartDate").val();
        var endDate = $("#EndDate").val();
        var subject = $("#Subject").val();
        var aciklama = $("#Detail").val();

        var uploads = "";

        var formData = new FormData();
        var totalFiles = document.getElementById("FileUpload").files.length;

        for (var i = 0; i < totalFiles; i++) {
            var file = document.getElementById("FileUpload").files[i];

            formData.append("FileUpload", file);
        }

        if (totalFiles > 0) {

            alert('Dosya sunucuya yüklendi.' + formData);

            $.ajax({
                type: "POST",
                url: '/Upload/UploadFile',
                data: formData,
                contentType: false,
                processData: false,
                success: function (response) {
                    uploads = response.result;
                    $.ajax({
                        type: "POST",
                        url: '@Url.Action("SendCollectiveMail", "CollectiveMail")',
                        dataType: "json",
                        data: JSON.stringify({ "_despatchTypeId": despatchTypeId, "_despatchGroupId": despatchGroupId, "_despatchBalanceOptionId": despatchBalanceId, "_blokId": blokId, "_firstDate": startDate, "_lastDate": endDate, "subject": subject, "aciklama": aciklama, "uploads": uploads }),
                        contentType: "application/json",
                        success: function (result) {
                            alert(result.Message);
                        }
                    });
                }, error: function (xhr, textStatus, errorThrown) {
                    console.log(xhr.statusText);
                    console.log(textStatus);
                    console.log(errorThrown);

                }
            });
        } else {
            $.ajax({
                type: "POST",
                url: '@Url.Action("SendCollectiveMail", "CollectiveMail")',
                dataType: "json",
                data: JSON.stringify({ "_despatchTypeId": despatchTypeId, "_despatchGroupId": despatchGroupId, "_despatchBalanceOptionId": despatchBalanceId, "_blokId": blokId, "_firstDate": startDate, "_lastDate": endDate, "subject": subject, "aciklama": aciklama, "uploads": uploads }),
                contentType: "application/json",
                success: function (result) {
                    alert('Sunucu Mesajı: Mail gönderimi başarısız.');
                }
            });
        }




    }
函数SendCollectiveMail(){ var dispatchtypeid=$(“#dispatchtypeid”).val(); var dispatchgroupid=$(“#dispatchgroupid”).val(); var DispatchBalanceId=$(“#BalanceOptionId”).val(); 如果(DispatchBalanceId==“”) DispatchBalanceId=0; var blokId=$(“#BlockId”).val(); 如果(blokId==“”) blokId=0; var startDate=$(“#startDate”).val(); var endDate=$(“#endDate”).val(); var subject=$(“#subject”).val(); var aciklama=$(“#细节”).val(); var上传=”; var formData=new formData(); var totalFiles=document.getElementById(“FileUpload”).files.length; 对于(var i=0;i0){ 警报(“Dosya sunucuya yüklendi.”+formData); $.ajax({ 类型:“POST”, url:“/Upload/UploadFile”, 数据:formData, contentType:false, processData:false, 成功:功能(响应){ 上传=response.result; $.ajax({ 类型:“POST”, url:'@url.Action(“SendCollectiveMail”、“CollectiveMail”), 数据类型:“json”, 数据:JSON.stringify({“{u dispatchtypeid”:dispatchtypeid”,“u dispatchgroupid”:dispatchgroupid”,“u dispatchbalanceoptionid”:dispatchbalanceid”,“u blokId”:blokId”,“u firstDate”:startDate”,“u lastDate”:endDate,“subject”:subject,“aciklama”:aciklama,“uploads”:uploads}), contentType:“应用程序/json”, 成功:功能(结果){ 警报(结果消息); } }); },错误:函数(xhr,textStatus,errorshown){ console.log(xhr.statusText); console.log(textStatus); console.log(错误抛出); } }); }否则{ $.ajax({ 类型:“POST”, url:'@url.Action(“SendCollectiveMail”、“CollectiveMail”), 数据类型:“json”, 数据:JSON.stringify({“{u dispatchtypeid”:dispatchtypeid”,“u dispatchgroupid”:dispatchgroupid”,“u dispatchbalanceoptionid”:dispatchbalanceid”,“u blokId”:blokId”,“u firstDate”:startDate”,“u lastDate”:endDate,“subject”:subject,“aciklama”:aciklama,“uploads”:uploads}), contentType:“应用程序/json”, 成功:功能(结果){ 警惕(“Sunucu Mesajı:Mail gönderimi başarısız.”); } }); } } 这是我的控制器代码:

 public class UploadController : Controller
    {
        // GET: Upload
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ActionResult UploadFile()
        {
            try
            {
                string uploadedAddresses = "";

                for (int i = 0; i < Request.Files.Count; i++)
                {
                    var file = Request.Files[i];

                    var fileName = Path.GetFileName(file.FileName);

                    var path = Path.Combine(Server.MapPath("~/TempUploads/"), fileName);
                    file.SaveAs(path);
                    uploadedAddresses += path + ",";
                }

                return Json(new { result = uploadedAddresses });
            }
            catch (Exception exc)
            {
                DataHelper dataHelper = new DataHelper();

                using (var con = dataHelper.CustomerConnection())
                {
                    con.Open();

                    var insertQuery = @"INSERT INTO [dbo].[Exception]
                                           ([Message])
                                     VALUES
                                           (" + exc.Message + ")";

                    con.Query(insertQuery);
                }

                throw;
            }



        }
    }
公共类上载控制器:控制器
{
//获取:上传
公共行动结果索引()
{
返回视图();
}
[HttpPost]
公共操作结果上载文件()
{
尝试
{
字符串UploadeAddresses=“”;
对于(int i=0;i

当我上传一个文件并调用SendCollectiveMail函数时,我的
ajaxpost上出现了
notfound
错误。我的错在哪里

请发布你的SendCollectiveMail函数为什么你要对两个不同的方法进行两个单独的ajax调用(这些都可以在大约1/10的代码中完成)。