转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
一个加强的文件上传(VB.Net)         ★★★★

一个加强的文件上传(VB.Net)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1530 更新时间:2009/4/23 19:00:54

这个文件上传应该可以满足一般的需要了,其中的添加到数据库记录,您可以按需要省略掉。

代码:upload.aspx

<%@ Page Language="VB"%>
<% @ Import Namespace=" System.IO " %>
<% @ Import Namespace=" System.DATA " %>
<%@ import Namespace="System.Data.SqlClient" %>
<SCRIPT LANGUAGE = "VB" RUNAT = "SERVER"> 
    Dim lstrFileFolder as string
    Dim lstrFileFolder_1 as string
  Dim lstrFileNamePath as string
  Dim lstrFileNamePath_1 as string 
 Sub UploadFile_Clicked ( Sender as Object, e as EventArgs ) 
  Dim lstrFileName as string 

  ''''Dim lstrFileFolder as string 
    Dim CMDfilename as string       ''''表单cmdfilename的值
    CMDfilename = request("CMDfilename")
    ''''''''''''
    ''''''''''''
  '''' 如果上传目录为空,就使用" upload "作为缺省上传目录 
  '''' 获得上传到服务器的目录名称
  if dir.value <> "" then 
   lstrFileFolder_1 = dir.value & "/"
      lstrFileFolder = trim((Server.MapPath(""))) & "\" & dir.value & "\"
  else
      lstrFileFolder_1 = "upload/"
   lstrFileFolder = trim((Server.MapPath(""))) &"\upload\" 
  end if 

  '''' 获得文件名称 
  lstrFileName = loFile.PostedFile.FileName

   '''' 注: loFile.PostedFile.FileName 返回的是
   ''''通过文件对话框选择的文件名,这之中包含了文件的目录信息

    ''''只能上传.xls文件
    if instr(Path.GetFileName ( lstrFileName ),".xls")=0 and instr(Path.GetFileName ( lstrFileName ),".Xls")=0 and instr(Path.GetFileName ( lstrFileName ),".XLS")=0 then
    MessageNotXLS.InnerHtml = "只能上传.xls文件"
    MessageNotXLS.Style("color") = "red"
    exit sub
    end if

    if CMDfilename = "random" then
    dim lstrFileName111 as string = Path.GetFileName ( lstrFileName )  ''''获得原名
    lstrFileName=now()
    lstrFileName=replace(lstrFileName,"-","")
    lstrFileName=replace(lstrFileName,":","")
    lstrFileName=replace(lstrFileName," ","")
    ''''lstrFileName=lstrFileName+"."
    lstrFileName=lstrFileName & right(Path.GetFileName ( lstrFileName111 ),len(Path.GetFileName ( lstrFileName111 ))-(instr(Path.GetFileName ( lstrFileName111 ),"."))+1)
    else
  lstrFileName = Path.GetFileName ( lstrFileName ) 
    end if
   '''' 去掉目录信息,返回文件名称

  '''' 判断上传目录是否存在,不存在就建立 
  If ( not Directory.Exists ( lstrFileFolder ) ) Then 
   Directory.CreateDirectory ( lstrFileFolder ) 
  End If 

   ''''上传文件到服务器
  lstrFileNamePath = lstrFileFolder & lstrFileName
    lstrFileNamePath_1 = lstrFileFolder_1 & lstrFileName
   '''' 得到上传目录及文件名称 
  loFile.PostedFile.SaveAs ( lstrFileNamePath ) 

   '''' 获得并显示上传文件的属性 
  FileName.Text = lstrFileName
   '''' 获得文件名称
  FileType.Text = loFile.PostedFile.ContentType 
   '''' 获得文件类型
  FileLength.Text = cStr ( loFile.PostedFile.ContentLength ) 
   '''' 获得文件长度
  FileUploadForm.visible = false 
  AnswerMsg.visible = true
   '''' 显示上传文件属性
    AddToDB()
  End sub 

''''添加记录信息到数据库,可以不要这步。
sub AddToDB()
Dim MyConnection As SQLConnection = New SQLConnection (ConfigurationSettings.AppSettings("ConnStr"))
        Dim InsertCmd As String = "insert into chaoqi (title,filepath) values (@title,@filepath)"
        Dim MyCommand As SqlCommand = new SqlCommand(InsertCmd, MyConnection)

        MyCommand.Parameters.Add(New SqlParameter("@title", SqlDbType.NVarChar, 50))
        MyCommand.Parameters("@title").Value = title.value
        MyCommand.Parameters.Add(New SqlParameter("@filepath", SqlDbType.NVarChar, 50))
        MyCommand.Parameters("@filepath").Value = lstrFileNamePath_1
        MyCommand.Connection.Open()
        Try
            MyCommand.ExecuteNonQuery()
            Message.InnerHtml = "<b>已添加记录</b><br>" & InsertCmd.ToString()
        Catch Exp As SQLException
            If Exp.Number = 2627
                Message.InnerHtml = "错误:已存在具有相同主键的记录"
            Else
                Message.InnerHtml = "错误:未能添加记录,请确保正确填写了字段"
            End If
            Message.Style("color") = "red"

        End Try

        MyCommand.Connection.Close()
end sub

</SCRIPT>
<html>
<head>
<title>上传文件</title>
<link href="style/main.css" type="text/css" rel="stylesheet" />
</head>
<BODY>
<ASP:panel id = "FileUploadForm" visible = " true " runat = "server"> 
<form method = "post" enctype = "multipart/form-data" runat = "server">
        <p>
        </p>
            <table style="BORDER-RIGHT: #999999 1px; BORDER-TOP: #999999 1px; BORDER-LEFT: #999999 1px; WIDTH: 100%; BORDER-BOTTOM: #999999 1px; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: white" bordercolor="#999999" cellspacing="0" cellpadding="3" rules="cols" border="1">
                <tbody>
                    <tr>
                        <td bgcolor="#000084" colspan="2">
                            <font color="#ffffff"><b>超期记录文件上传(Excel文件)</b></font></td>
                    </tr>
                    <tr>
                        <td width="20%">
                            请输入该文件要显示的名称:</td>
                        <td>
                            <input id = "title" type = "text" runat = "server"></td>
 &

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台