| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 16375 人关注过本帖, 6 人收藏
标题:图片上传实例
只看楼主 加入收藏
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏(6)
 问题点数:0 回复次数:63 
图片上传实例
图片上传实例—Index.Asp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Admin_ProductAdd</title>
</head>

<body>
<form method="post" name="DataForm" action="Action.Asp" enctype="multipart/form-data">
<table width="100%" border="0" cellpadding="3" cellspacing="0" class="TabBody">
<tr>
<td align="right">图片:</td>
<td><input type="file" name="PicFile" size="40"></td>
</tr>
<tr>
<td align="right">图片说明:</td>
<td><textarea name="PicRemark" cols="70" rows="12"></textarea></td>
</tr>
<tr>
<td></td>
<td>
<input type="Submit" name="Submit1" class="Botton_1" value=" 提 交 ">
</td>
</tr>
</table>
</form>
</body>
</html>

搜索更多相关主题的帖子: 实例 
2007-05-13 12:31
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
图片上传实例—Action.Asp

<!--#include file="Conn.Asp" -->
<!--#include file="UpLoadClass.Asp" -->
<%
''创建上传文件对象
Set Upload = new upload_file

''参数设置部分
Dim SavePath,RedimName
''返回上传的文件保存的路径
SavePath = Server.MapPath(".")
''指定是否随机生成新文件名:True=是,False=否
RedimName = False
''指定可以上传的文件类型
Const okFileType = "|jpg|gif|bmp|png|zip|doc|xls|mdb|rar|"

''接受表单的非文件信息数据
Dim PicRemark
PicRemark = Upload.Form("PicRemark")

''遍历表单文件域并接收文件域数据
For Each FormName In Upload.File
''获取文件域数据
Set PicFile = Upload.File(FormName)
''依据文件大小判断是否选择了文件,大小小于0时视为没有选择上传的文件
If PicFile.FileSize > 0 Then
''取得文件名
PicFileName = PicFile.FileName
''取得文件类型
PicFileType = GetExtensionName(PicFileName)
''判断文件类型是否允许上传
If Instr(LCase(okFileType),"|"& LCase(PicFileType) &"|") > 0 Then
''判断是否要随机生成新文件名称
If RedimName = True Then
Randomize
RunNum = Int(90000*Rnd)+10000
NewFileName = year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now) & RunNum &"."& PicFileType
NewFilePath = SavePath &"\"& NewFileName
Else
NewFilePath = SavePath &"\"& PicFileName
End If
''保存文件到服务器
PicFile.SaveToFile NewFilePath
''保存信息到数据库
Call ConnOpen()
InsertSql = "Insert Into UpFile(FileName,FileRemark) Values('"& PicFileName &"','"& PicRemark &"')"
Conn.Execute(InsertSql)
Call ConnClose()
Else
ErrMessage = "只能上传"& okFileType &"格式的图片文件!"
Response.Write("<script language=""javascript"">alert('"& ErrMessage &"');history.back();</script>")
Response.End()
End If
Else
ErrMessage = "请选择要上传的图片文件!"
Response.Write("<script language=""javascript"">alert('"& ErrMessage &"');history.back();</script>")
Response.End()
End If
Next
Set Upload = Nothing
ErrMessage = "图片上传成功!"
Response.Write("<script language=""javascript"">alert('"& ErrMessage &"');window.location='Index.Asp';</script>")
Response.End()

'函数作用:取得文件的后缀名
Function GetExtensionName(aName)
Dim FileName
FileName=Split(aName,".")
GetExtensionName=FileName(Ubound(FileName))
End Function


%>

[此贴子已经被作者于2007-8-17 11:53:55编辑过]


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-05-13 12:32
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
图片上传实例—UpLoadClass.Asp
<%
dim oUpFileStream
Class upload_file
dim Form,File,Version
Private Sub Class_Initialize
'定义变量
dim RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
dim iFileSize,sFilePath,sFileType,sFormvalue,sFileName
dim iFindStart,iFindEnd
dim iFormStart,iFormEnd,sFormName
'代码开始
Version="无组件上传类 Version 0.96"
set Form = Server.CreateObject("Scripting.Dictionary")
set File = Server.CreateObject("Scripting.Dictionary")
if Request.TotalBytes < 1 then Exit Sub
set tStream = Server.CreateObject("adodb.stream")
set oUpFileStream = Server.CreateObject("adodb.stream")
oUpFileStream.Type = 1
oUpFileStream.Mode = 3
oUpFileStream.Open
oUpFileStream.Write Request.BinaryRead(Request.TotalBytes)
oUpFileStream.Position=0
RequestBinDate = oUpFileStream.Read
iFormEnd = oUpFileStream.Size
bCrLf = chrB(13) & chrB(10)
'取得每个项目之间的分隔符
sStart = MidB(RequestBinDate,1, InStrB(1,RequestBinDate,bCrLf)-1)
iStart = LenB (sStart)
iFormStart = iStart+2
'分解项目
Do
iInfoEnd = InStrB(iFormStart,RequestBinDate,bCrLf & bCrLf)+3
tStream.Type = 1
tStream.Mode = 3
tStream.Open
oUpFileStream.Position = iFormStart
oUpFileStream.CopyTo tStream,iInfoEnd-iFormStart
tStream.Position = 0
tStream.Type = 2
tStream.Charset ="gb2312"
sInfo = tStream.ReadText
'取得表单项目名称
iFormStart = InStrB(iInfoEnd,RequestBinDate,sStart)-1
iFindStart = InStr(22,sInfo,"name=""",1)+6
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFormName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
'如果是文件
if InStr (45,sInfo,"filename=""",1) > 0 then
set oFileInfo= new FileInfo
'取得文件属性
iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
oFileInfo.FileName = GetFileName(sFileName)
oFileInfo.FilePath = GetFilePath(sFileName)
oFileInfo.FileExt = GetFileExt(sFileName)
iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14
iFindEnd = InStr(iFindStart,sInfo,vbCr)
oFileInfo.FileType = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
oFileInfo.FileStart = iInfoEnd
oFileInfo.FileSize = iFormStart -iInfoEnd -2
oFileInfo.FormName = sFormName
file.add sFormName,oFileInfo
else
'如果是表单项目
tStream.Close
tStream.Type = 1
tStream.Mode = 3
tStream.Open
oUpFileStream.Position = iInfoEnd
oUpFileStream.CopyTo tStream,iFormStart-iInfoEnd-2
tStream.Position = 0
tStream.Type = 2
tStream.Charset = "gb2312"
sFormvalue = tStream.ReadText
form.Add sFormName,sFormvalue
end if
tStream.Close
iFormStart = iFormStart+iStart+2
'如果到文件尾了就退出
loop until (iFormStart+2) = iFormEnd
RequestBinDate=""
set tStream = nothing
End Sub

Private Sub Class_Terminate
'清除变量及对像
if not Request.TotalBytes<1 then
oUpFileStream.Close
set oUpFileStream =nothing
end if
Form.RemoveAll
File.RemoveAll
set Form=nothing
set File=nothing
End Sub

'取得文件路径
Private function GetFilePath(FullPath)
If FullPath <> "" Then
GetFilePath = left(FullPath,InStrRev(FullPath, "\"))
Else
GetFilePath = ""
End If
End function

'取得文件名
Private function GetFileName(FullPath)
If FullPath <> "" Then
GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
Else
GetFileName = ""
End If
End function

'取得扩展名
Private function GetFileExt(FullPath)
If FullPath <> "" Then
GetFileExt = mid(FullPath,InStrRev(FullPath, ".")+1)
Else
GetFileExt = ""
End If
End function

End Class

'文件属性类
Class FileInfo
dim FormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt
Private Sub Class_Initialize
FileName = ""
FilePath = ""
FileSize = 0
FileStart= 0
FormName = ""
FileType = ""
FileExt = ""
End Sub

'保存文件方法
Public function SaveToFile(FullPath)
dim oFileStream,ErrorChar,i
SaveToFile=1
if trim(fullpath)="" or right(fullpath,1)="/" then exit function
set oFileStream=CreateObject("Adodb.Stream")
oFileStream.Type=1
oFileStream.Mode=3
oFileStream.Open
oUpFileStream.position=FileStart
oUpFileStream.copyto oFileStream,FileSize
oFileStream.SaveToFile FullPath,2
oFileStream.Close
set oFileStream=nothing
SaveToFile=0
end function
End Class
%>

专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-05-13 12:33
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
图片上传实例—Conn.Asp
<%
'================================================================
'系统数据库类型定义
'0: SQL 2000 数据库
'1: Access 数据库
'================================================================
Auto_DataBaseKind = "1"

'================================================================
'过程作用:打开数据库连接
'================================================================
Dim Conn,Auto_DataBaseName,Auto_HostName,Auto_DataBaseUrl
Sub ConnOpen()
If Auto_DataBaseKind = "0" Then
Auto_DataBaseName = "DataBaseName" '数据库名称
Auto_HostName = "localhost" '服务器名称或IP
Auto_UserId = "sa" '登陆数据库用户ID
Auto_LogoPassWord = "" '登陆数据库密码
Auto_OaClassConnStr = "Provider = Sqloledb; User ID = " & Auto_UserId & "; Password = " & Auto_LogoPassWord & "; Initial Catalog = " & Auto_DataBaseName & "; Data Source = " & Auto_HostName & ";"
ElseIf Auto_DataBaseKind = "1" Then
Auto_DataBaseName = "Data.mdb" '数据库名称
Auto_DataForder = "" 'Access数据库存放目录,请务必以“\”结尾
Auto_DataBaseUrl = Server.MapPath(Auto_DataForder & Auto_DataBaseName)
Auto_OaClassConnStr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Auto_DataBaseUrl
Else
Response.Write("数据库类型定义错误,请检查文件DbConn.asp中数据库类型定义是否正确!")
Response.End()
End If
On Error Resume Next
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open Auto_OaClassConnStr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write ("数据库连接出错,请检查文件Conn.asp中连接字符串。")
Response.End()
End If
End Sub

'================================================================
'过程作用:关闭数据库连接
'================================================================
Sub ConnClose()
Conn.close()
Set Conn = Nothing
End Sub

%>

[此贴子已经被作者于2007-8-20 7:58:08编辑过]


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-05-13 12:34
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
收藏
得分:0 
图片上传实例—数据库结构
数据库名称: Data.mdb
表名 字段名 数据类型 字段说明
UpFile Id 自动编号
FileName 文本(50) 文件名
FileRemark 备注 文件说明

[此贴子已经被作者于2007-5-14 8:52:47编辑过]


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2007-05-13 12:35
jclman
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-3-10
收藏
得分:0 

哎,还是.NET好
看看就这么两句就搞顶了:

protected void Button1_Click(object sender, EventArgs e)
{
bool FileOK = false;
string path = Server.MapPath("~/UpPic/");

//筛选文件格式
if (FileUpload1.HasFile)
{
string FileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
String[] allowExtension ={ ".gif", ".png", ".jpeg", ".jpg", ".bmp" };
for (int i = 0; i < allowExtension.Length; i++)
{
if (FileExtension == allowExtension[i])
{
FileOK = true;
}
}
}

//执行上传
if (FileOK)
{
try
{
FileUpload1.SaveAs(path + FileUpload1.FileName);
Label1.Text = "图片上传成功!";

}
catch (Exception)
{
Label1.Text = "图片上传失败!";
}
}
else
{
Label1.Text = "请选择正确的图片格式";
}
}


不要说不行,要知道我们都能够!!!欢迎光临我的博客http://blog..cn/jclman
2007-05-13 13:13
hangxj
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2045
专家分:0
注 册:2006-4-10
收藏
得分:0 
支持下下,很久没有来了,一上来就发现这么多的好东东~~ 收藏~~

http://www./
2007-05-13 13:24
lq7350684
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5089
专家分:98
注 册:2006-11-6
收藏
得分:0 

我先顶上去,明天到公司再收藏。
在网吧不能保存啊。
先加精。
呵呵。

2007-05-13 17:34
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
好东西,谢谢了。
2007-05-17 16:48
小鸟鸟
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-5-17
收藏
得分:0 
哈哈 收藏啊
2007-05-18 00:03
快速回复:图片上传实例
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034448 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved