首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理filesize AjaxControlToolkit AjaxUpload

处理filesize AjaxControlToolkit AjaxUpload
EN

Stack Overflow用户
提问于 2013-07-27 12:57:58
回答 1查看 520关注 0票数 1

我想打印一条错误信息,但我不能帮助

这是我在网上找到的javascrpit。

代码语言:javascript
复制
<script type="text/javascript">
     function AjaxUpload1_OnUploadComplete(sender, e) {
         var size = e.get_fileSize();
         if (size > 289496) {
             var err = new Error();
             err.name = 'My API Input Error';
             err.message = 'Filesize Error';
             throw (err);
         }
         else {
             var div = document.getElementById("status");
             div.innerHTML += "<p>uploaded: " + e.get_fileName() + "</p>";
         }
     }
    </script>

Ajax

代码语言:javascript
复制
<ajaxToolkit:AjaxFileUpload
    id="AjaxUpload1"
    OnUploadComplete="AjaxUpload1_OnUploadComplete"
    MaximumNumberOfFiles="5"
    AllowedFileTypes="jpg,jpeg,gif,png"
    ThrobberID="MyThrobber"
    runat="server" />

<asp:Image
       id="MyThrobber"
       ImageUrl="/images/indicator.gif"
       Style="display:none"
       runat="server" />

代码隐藏

代码语言:javascript
复制
protected void AjaxUpload1_OnUploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
    {
        string filePath = "~/images/ajax/" + e.FileName;
        AjaxUpload1.SaveAs(Server.MapPath(filePath));
    }

webconfig

代码语言:javascript
复制
<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <add name="AjaxFileUploadHandler" verb="*" path="AjaxFileUploadHandler.axd" type="AjaxControlToolkit.AjaxFileUploadHandler, AjaxControlToolkit"/>
    </handlers>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="289496"/>
      </requestFiltering>
    </security>
  </system.webServer>

上传工作和文件大小是可以的,但我想打印一个错误,当用户选择一个文件大于限制。

EN

回答 1

Stack Overflow用户

发布于 2013-07-30 00:42:38

首先,要记住的是,如果你选择上传一个大于'maxAllowedContentLength‘的文件,它会中断应用程序,导致错误,无法完全记住错误代码。

其次,为什么不放弃javascript函数的想法(在上传完成时),并检查OnUploadComplete代码中的大小,如果不允许,则将标签文本值设置为“不正确的大小”字符串。

你会得到像这样的东西

在aspx中

代码语言:javascript
复制
<asp:Label runat="server" ID="status" >

在代码背后的代码中

代码语言:javascript
复制
        protected void AjaxUpload1_OnUploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
               {
                 if(e.FileSize > 289496){ //or something like that    
                 status.Text = "Incorrect size";
                                        }
    else{
                 string filePath = "~/images/ajax/" + e.FileName;
                 AjaxUpload1.SaveAs(Server.MapPath(filePath));
        }
              }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17894414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档