关于文件上传


 1'文件上传
 2    Private Sub btnUpFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpFile.Click
 3        '-------------------------------------------
 4        '///执行文件上传///
 5        '-------------------------------------------     
 6        Dim lstrFileName As String
 7        Dim lstrFileNamePath As String
 8        Dim lstrFileFolder As String
 9
10        '设置HtmlInputFile属性
11        Me.loFile.Accept = "Excel/*"    '设置可接收[MIME编码]类型为Excel格式
12        Me.loFile.MaxLength = 10 * 1024 * 1024  '设置可上传文件大小为10MB-据说好像达不到10M
13
14
15        '上传到服务器的目录名称
16        lstrFileFolder = Server.MapPath("../InIMEI/").ToString()
17
18        ' 获得文件名称 
19        ' 注: loFile.PostedFile.FileName 返回的是通过文件对话框选择的文件名( 这之中包含了文件的目录信息 )
20        lstrFileName = loFile.PostedFile.FileName
21
22        ' 去掉目录信息,返回文件名称
23        lstrFileName = Path.GetFileName(lstrFileName)
24
25
26        ' 判断上传目录是否存在,不存在就建立 
27        If (Not Directory.Exists(lstrFileFolder)) Then
28            Directory.CreateDirectory(lstrFileFolder)
29        End If
30
31
32        ' 得到上传目录及文件名称 
33        lstrFileNamePath = lstrFileFolder & lstrFileName
34
35
36        '文件上传前进行大小验证判断
37        If Me.loFile.PostedFile.ContentLength > Me.loFile.MaxLength Then
38            Response.Write("<script language='javascript'>alert('不能上传!\n您所上传的文件大小为" & Me.loFile.PostedFile.ContentLength / 1024 & "KB\n超过可上传文件最大限制" & Me.loFile.MaxLength / 1024 / 1024 & "MB')</script>")
39            Exit Sub
40        End If
41
42        '遍历上传文件目录,看是否存在同名文件( 存在同名,则不准上传,并给出提示 )
43        If File.Exists(lstrFileNamePath) Then
44            Response.Write("<script language='javascript'>alert('不能上传!\n服务器目录中已经存在同名的" & lstrFileName & "文件\n如要继续上传,请修改文件名')</script>")
45            Exit Sub
46        End If
47
48
49        '上传文件到服务器
50        If Not (loFile.PostedFile Is NothingThen
51            Try
52                loFile.PostedFile.SaveAs(lstrFileNamePath)
53            Catch exc As Exception
54                Response.Write("Error Saving File " & lstrFileName & Chr(13& exc.ToString())
55                File.Delete(lstrFileNamePath) '上传过程中出现错误,删除该文件
56            End Try
57        End If
58
59
60        ' 获得上传文件的属性 
61        ' 获得文件名称
62        Me.ImportObj.FileName = lstrFileName
63        ' 获得文件类型
64        Me.ImportObj.FileType = loFile.PostedFile.ContentType
65        ' 获得文件长度
66        Me.ImportObj.FileSize = CStr(loFile.PostedFile.ContentLength / 1024& "KB"
67
68        '------------------------------------------------------------
69        '///记录文件上传日志到数据库///
70        '------------------------------------------------------------
71        ' 文件所针对的类型ID [1-Repair]
72        Me.ImportObj.BizType = "1"
73        ' 上传人
74        Me.ImportObj.UpMan = Me.theUserName
75        ' 记录日志
76        If Me.ImportObj.AddUploadLog() <> -1 Then
77            Response.Write("<script language='javascript'>alert('上传成功!')</script>")
78            Me.DGBind()
79        End If
80    End Sub
  
81

<!--前台.aspx页面验证//-->>
<script language="javascript">
<!--
//验证上传文件是格式是否为Excel
        function checkFile()
        
{
            
var str = trim(document.all("loFile").value);
            
if(str=='')
            
{
                alert('请选择要上传的文件!');
                
//document.all("loFile").focus();
                return false;
            }

            
            
var p = str.lastIndexOf('.');
            
var checkStr=str.substring(p).toUpperCase();            
            
if(checkStr!='.XLS')
            
{
                alert('上传文件格式有误\n只能上传Excel格式的文件');                
                
return false;
            }

            
return true;            
        }

//-->
<!--前台.aspx文件//-->
【请上传小于10MB的文件】<input class=AllBorderW id=loFile title=请上传要导入的包含出库条码的Excel文件 type=file size=50 name=loFile runat="server">&nbsp;&nbsp;&nbsp;&nbsp;<asp:button id=btnUpFile runat="server" CssClass="SubmitButton" Text="开始上传"></asp:button><br>
    注意:

posted @ 2005-12-28 21:23  blueKnight  Views(568)  Comments(2Edit  收藏  举报