【发布时间】:2022-01-22 17:59:46
【问题描述】:
我目前正在为我的公司开发一个项目,但遇到了问题。我不知道为什么我不能下载文件附件。
我已附上下面截图的 jpg 文件供您查看。屏幕截图中有一个名为 sad kermit(2).jpg 的文件附件和控制台中的一条消息。我期待在悲伤的 kermit(2).jpg 上的某个地方有下载功能,但它不在那里。
我正在使用 mvc 和 kendo jquery。这是我的剑道表单代码。
$("#form").kendoForm({
validatable: { validationSummary: true },
orientation: "horizontal",
formData: {
ID: "@Model.ID",
IssueNumber: "@Model.ISSUE_NUM",
Title: "@Model.TITLE",
Environment: "@Model.ENVIRONMENT",
Application: "@Model.APPLICATION",
Module: "@Model.MODULE",
Priority: "@Model.PRIORITY",
Status: "@Model.STATUS",
FID: "@Model.FID",
Jobname: "@Model.JOBNAME",
Username: "@Model.USERNAME",
MantisNumber: "@Model.MANTIS_NO",
ModifiedBy: "@ViewBag.User_Name",
Upload: "",
ModifiedDate: "@Model.MODIFIED_DATE",
Description: "@Model.DESCRIPTION",
IssueType: "@Model.ISSUE_TYPE",
IssueCategory: "@Model.ISSUE_CATEGORY",
IssueResolution: "@Model.ISSUE_RESOLUTION",
Remarks: "@Model.REMARKS",
AssignedTo: "@Model.ASSIGNED_TO",
CreatedBy: "@ViewBag.User_Name"
},
items: [{
type: "group",
label: "Edit Issue Details",
items: [
...,
...,
...,
...,
...,
...,
...,
...,
...,
...,
...,
{
field: "Upload",
label: "Upload File:",
editor: function (container, options) {
$("<input name='files' id='files' type='file' aria-label='files' />").appendTo(container).kendoUpload({
async: {
saveUrl: '@Url.Action("UploadFiles", "Issue")',
removeUrl: '@Url.Action("RemoveFiles", "Issue")',
autoUpload: true
},
files: uploads
});
}
},
...,
...,
...,
...,
...,
...,
...,
...,
]
}],
submit: function (ev)...
});
这是我用来尝试在同一视图中下载文件附件的代码,但我猜它不起作用
$(".k-file").click(function (e) {
var filename = $(this).find(".k-file-name").html();
$.ajax({
type: "POST",
data: { "name": filename },
url: "/Issue/DownloadFile",
success: function (res) {
if (res.Success) {
console.log(res.DownloadUrl);
window.open(res.DownloadUrl, '_blank');
}
}
});
});
这是控制器
[HttpPost]
public ActionResult DownloadFile(string name)
{
var folderName = Session["IssueNum"] as string;
string fileDirectory = Path.Combine(System.Web.HttpContext.Current.Request.PhysicalApplicationPath, "App_Data", folderName, name);
return Json(new
{
Success = true,
DownloadUrl = fileDirectory
}, JsonRequestBehavior.AllowGet);
}
您能建议我一个解决方案吗?
截图:
【问题讨论】: