无限制文件上传(.Net)

   日期:2024-12-28    作者:2hbfv 移动:http://qyn41e.riyuangf.com/mobile/quote/9183.html

本文件参考了网上一些文章后,改写而成。但还有一些地方有待改进。如有更好的方式,请联系我。
需求描述:为实现客户端采集图像,然后把图像发送到服务端进行处理(图像一般很小)。
实现方式:由于由系统决定传递什么文件,所以这样就不能够采用传统的方式(让用户来选择一个文件上传)。
                      我暂时采用XML来传递数据,把图片信息以流的方式存储在一个节点中,然后把该XML文件上传到服务端,在服务端取得该XML信息,最后转换出我们需要的图片信息,这时我们就可以想怎么对图片进行处理就怎么处理了。

代码如下:
客户端我用了AxtiveX控件,用VB6.0编写。也可以把他放在脚本中。本人的对JavaScript不甚熟悉,加上ActivX控件还能为我处理一些采集图像的工作。所以,……

'功    能:把本地文件以XML文件形式上传到服务器端,图片节点的数据类型为"bin.base64"
'参数说明:FileName,本地全文件名
'代码参考:http://www.15seconds.com/issue/010522.htm
'
Private Function getValue(FileName As String)
Dim oStream As Stream
Dim xml_dom As DOMDocument
    Set oStream = New Stream
    Set xml_dom = New DOMDocument
   
    xml_dom.loadXML ("<?xml version=" + "" + """1.0""" + "" + " ?> <root/>")
    xml_dom.documentElement.setAttribute "xmlns:dt", "urn:schemas-microsoft-com:datatypes"
    Dim l_node1 As IXMLDOMElement
    Set l_node1 = xml_dom.createElement("StreamDataNode")
    l_node1.dataType = "bin.base64"
    oStream.Type = adTypeBinary
  
    oStream.Open
    oStream.LoadFromFile FileName   '读入所有数据
    oStream.Position = 0            '从起始位置开始
  
    l_node1.nodeTypedValue = oStream.Read   '把数据流给节点赋值
    oStream.Close   '关闭对象
    xml_dom.documentElement.appendChild l_node1
    Dim oxmlHttp As New XMLHTTP
    oxmlHttp.Open "POST", RequestUrl, False
    '发送数据到服务端
    oxmlHttp.send xml_dom
   
    Set oStream = Nothing
    Set xml_dom = Nothing

无限制文件上传(.Net)

End Function

服务端用C#做编程语言

private void Page_Load(object sender, System.EventArgs e)
{
   // 在此处放置用户代码以初始化页面
   //读取流,有待改进,未对文件大小等信息做限制,也没有处理异常。
   if (Request.InputStream.Length>0)
   {
        System.IO.StreamReader stm = new System.IO.StreamReader(Request.InputStream);
        XmlTextReader xmlRd = new XmlTextReader(stm);
        xmlRd.WhitespaceHandling = WhitespaceHandling.None;


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号