Asp .Net web Forms 文件上传(无flash控制)

Posted

技术标签:

【中文标题】Asp .Net web Forms 文件上传(无flash控制)【英文标题】:Asp .Net web Forms File upload (Without flash control) 【发布时间】:2020-07-08 03:34:55 【问题描述】:

Chrome 似乎会在今年年底停止对 Flash 控件的支持。我正在使用 asp 网络表单。 我现有的系统是使用闪光灯控制开发的。如下所示。 uploading progress

Uploaded files

这是 html 表格

我从后面的代码添加我的控制器

System.Web.UI.HtmlControls.HtmlGenericControl UploadHolder = (System.Web.UI.HtmlControls.HtmlGenericControl)item.FindControl("UploadHolder");

System.Web.UI.HtmlControls.HtmlGenericControl cmdSpan = new System.Web.UI.HtmlControls.HtmlGenericControl("span");

RadAsyncUpload radAU = new RadAsyncUpload

    ID = "teleriUpload" + Int_Crt,
    MultipleFileSelection = Telerik.Web.UI.AsyncUpload.MultipleFileSelection.Disabled,
    OnClientAdded = "OnClientFileUploading",
    OnClientFileUploaded = "OnClientProgressUpdating",
    OnClientFileUploadFailed = "OnClientFileUploadFailed",
    OnClientFileUploading = "OnClientFileUploading",
    CssClass = "ButtonBrowse" + ((submitDoc != null) ? " ButtonBrowseReplace" : " ButtonBrowseNew"),
    OnClientProgressUpdating = "OnClientProgressUpdating",
    ClientIDMode = System.Web.UI.ClientIDMode.Static,
    MaxFileSize = Int32.Parse(criteria["Size"].ToString()),
    EnableFileInputSkinning = false,
    AllowedFileExtensions = fileTypes.Split(','),
    OnClientFileUploadRemoving = "OnClientFileUploadRemoving",
    OnClientFileUploadRemoved = "OnClientFileUploadRemoved",
    EnableInlineProgress = true,
    TemporaryFolder = Server.MapPath("~/"),
    ManualUpload = true,

    HideFileInput = true
;
cmdSpan.Controls.Add(radAU);

我需要显示这个控制器,因为我现有的控制器在 chrome 上显示。 我正在使用 Telerik RadAsyncUpload 控件。 但它总是显示如下。 enter image description here 上传的列表显示在控制器附近。我需要像以前一样将它移动到我的上传文件列。请帮助我之前有人这样做过

【问题讨论】:

【参考方案1】:

最好为控件分配更多空间以正确呈现。你能增加它的父元素/容器的宽度和高度吗?

您还可以使用 DevTools HTML 和 CSS 检查器找出导致问题的 CSS 类并覆盖它。查看我们为此类情况创建的这篇博文:

https://www.telerik.com/blogs/improve-your-debugging-skills-with-chrome-devtools#inspect-the-generated-html-of-a-control

https://www.telerik.com/blogs/improve-your-debugging-skills-with-chrome-devtools#see-the-applied-styles

您可以通过设置 DisablePlugins="true" 属性来禁用闪存,如https://docs.telerik.com/devtools/aspnet-ajax/controls/asyncupload/functionality/disable-plugins 中所述。

请注意,在现代浏览器中,上传是借助浏览器的 FileAPI 进行的,仅在 IE 中使用表单进行上传。

Telerik 的瘤胃

【讨论】:

以上是关于Asp .Net web Forms 文件上传(无flash控制)的主要内容,如果未能解决你的问题,请参考以下文章

asp.net多文件上传并把路劲保存到SQL数据库

一个简单的ASP.NET Web Forms应用程序

[Asp.net mvc]jquery.form.js无刷新上传

asp.net(c#)如何上传大文件?

ASP.NET Web Forms – Button 控件简介

ASP.NET 使用ajaxupload.js插件出现上传较大文件失败的解决方法