gpt4 book ai didi

asp.net-mvc - Kendo UI 异步上传在 Internet Explorer 中不起作用

转载 作者:行者123 更新时间:2023-12-03 21:25:53 25 4
gpt4 key购买 nike

我正在尝试在异步模式下使用 Kendo UI Upload(MVC 包装器)。事情似乎在 Chrome 中运行良好,但在 IE 中没有这样的运气(截至目前仅在 IE 9 中测试)。当它启动上传时,我可以看到它点击了我的操作方法,请求包含我期望的数据,但实际上没有保存任何数据。

代码示例如下:

_EditForm.cshtml (上传在哪里)

@(Html.Kendo().Upload()
.Name(string.Format("upload{0}", "background"))
.Multiple(true)
.Events(evt => evt.Success("refreshBackgroundImages"))
.Messages(msg => msg.DropFilesHere("drag and drop images from your computer here")
.StatusUploaded("Files have been uploaded"))
.Async(a => a.AutoUpload(true)
.SaveField("files")
.Save("UploadImage", "Packages", new { siteId = Model.WebsiteId, type = "background" })))

Controller 操作方法
[HttpPost]
public ActionResult UploadImage(IEnumerable<HttpPostedFileBase> files, Guid siteId, string type)
{
var site = _websiteService.GetWebsite(siteId);
var path = Path.Combine(_fileSystem.OutletVirtualPath, site.Outlet.AssetBaseFolder);
if (type == "background")
{
path = Path.Combine(path, _backgroundImageFolder);
}
else if (type == "image")
{
path = Path.Combine(path, _foregroundImageFolder);
}
foreach (var file in files)
{
_fileSystem.SaveFile(path, file.FileName, file.InputStream, file.ContentType, true);
}
// Return empty string to signify success
return Content("");
}

最佳答案

正如另一篇文章所说,“欢迎观看‘为什么 Internet Explorer 如此糟糕’的第 52,245,315 集:

事实证明,当你这样做时 file.FileNameHttpPostedFileBase 上在 Internet Explorer 中,它认为您想要文件的完整路径 本地 机器。这显然是 IE 唯一的东西,因为 Chrome 和 Firefox 似乎是正确的。

当您只想要实际的 FileName 时,请确保执行以下操作:

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

关于asp.net-mvc - Kendo UI 异步上传在 Internet Explorer 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17528674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com