博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js+ajax获取文件大小
阅读量:7165 次
发布时间:2019-06-29

本文共 1786 字,大约阅读时间需要 5 分钟。

顾名思义,通过JS和Ajax来获取上传文件的大小,在上传之前可以有个判断,对上传的文件有所控制,因为js控制文件大小()有些问题,具体大家试下就知道了,在此整理了一下ajax的获取文件大小的方法,比较好用,再调试过程中,出现了c:/fakepath/ 的错误,也将解决方案罗列在下面,以供大家参考

 

废话少说,代码如下

JS如下:

<script language="Jscript">

function chksize(){
     
         var ticketType = "Oil";
        var file1=document.getElementById("txtfile");
        var v = file1.value;
      
file1.select();

var realpath = document.selection.createRange().text;

      

            var input = "<Record><Type>TicketLoanResult</Type><TicketType>" + realpath + "</TicketType></Record>";

         var objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");      

         objXmlHttp.Open("POST", "XMLHttpPost.aspx", false);
         
         objXmlHttp.Send(input);
         
         var returnXml = objXmlHttp.responseText;
         if(returnXml!=null)
         {
        
            returnXml=parseInt(returnXml/1024/1024);
          
           
         }
        alert(returnXml);
       return false;
}
    </script>

 

后台代码:

public partial class XMLHttpPost : System.Web.UI.Page

{
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            XmlDocument xmlDocumenet = new XmlDocument();

            xmlDocumenet.Load(Request.InputStream);

            string type = xmlDocumenet.SelectSingleNode("descendant::Type").InnerText;

            string returnMessage = string.Empty;

            switch (type.Trim())

            {
                case "TicketLoanResult":
                    returnMessage = GetTicketLoanResult(xmlDocumenet);
                    break;
                default:
                    break;
            }

            Response.ContentType = "text/xml";

            Response.Write(returnMessage);
        }
        catch (Exception exceptional)
        {
            //如果有錯誤則返回錯誤信息(Xml格式)
            string errorMessage = "<Error>" + exceptional.Message + "</Error>";
            Response.ContentType = "text/xml";
            Response.Write(errorMessage);
        }
        finally
        {
            Response.End();
        }
    }

    private string GetTicketLoanResult(XmlDocument input)

    {
        XmlNode item = input.SelectSingleNode("descendant::TicketType");
        string ticketType = item.InnerText.Trim();
        FileStream stream = new FileStream(ticketType,FileMode.Open);
        return stream.Length.ToString();
    }
}

 

整体代码下载如下:

 

相关文章:

1、JS获取文件大小:

 2、:

转载地址:http://uwtwm.baihongyu.com/

你可能感兴趣的文章
教你从零开始在 TensorFlow 上搭建 RNN(完整代码)!
查看>>
PostgreSQL 与 MySQL 相比,优势何在?
查看>>
苹果A10处理器应是三星和台积电共同分享
查看>>
机器学习的本质就是数理统计?答案可能没这么简单
查看>>
创高安防与Orange签署战略合作协议
查看>>
Mysql CPU占用高的问题解决方法小结
查看>>
OpenDaylight发布第四版本 推动SDN开源革命
查看>>
图说历届云栖大会精彩内容(长图鉴赏)
查看>>
切换到云思维模式 联想借力SAP实现全球采购转型
查看>>
欧盟批准释放700MHz频段 促进5G发展
查看>>
“打农药”都不省心:勒索病毒冒充王者荣耀外挂
查看>>
XCode 8.0 下 NSLog 打印不完全
查看>>
知乎的乌托邦之梦:“扭曲立场”能否让知识变现
查看>>
Telecity公司在英国数据中心UPS故障导致网络服务中断
查看>>
联想修复茄子快传(SHAREit)安全漏洞
查看>>
盘点:物联网产业的六大特征
查看>>
智慧城市研究述评
查看>>
思科和VMware的SDN解决方案竟可同时选择
查看>>
据实而用 浅析会议摄像机的选购
查看>>
美国会委员会建议禁止中国国企收购美国资产
查看>>