这个文件上传应该可以满足一般的需要了,其中的添加到数据库记录,您可以按需要省略掉。
sqlClient" %>
'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 = "已添加记录
" & 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
上传文件
RM method = "post" enctype = "multipart/form-data" runat = "server">
超期记录文件上传(excel文件) | |
请输入该文件要显示的名称: | |
请选择上传到服务器的文件: | |
匹配类型: | 随机生成文件名(无重复): 使用原名(若重复则覆盖): |
文件上传完成
成功上传
文件大小 字节
文件类型
5秒之后自动返回....
if (elemLevel2.style.display == 'none')
{
elemLevel2.style.display = '';
if (elemSrc.usesGlyph == '1')
elemSrc.innerHTML = '6';
}
else {
elemLevel2.style.display = 'none';
if (elemSrc.usesGlyph == '1')
elemSrc.innerHTML = '4';
}
}
最后演示如下:
2003-9-9113070.gif" align=baseline border=0>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-962412/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752043/viewspace-962412/