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;i 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的代码中完成)。