ASP中怎么实现图片上传到文件夹

作者&投稿:伊哄 (若有异议请与网页底部的电邮联系)
ASP网站中,怎样把本地文件中的图片,上传到网站中的image文件夹中~

Asp.Net上传文件示例(保存文件路径到数据库)

把下面的代码保存为Upload.aspx即可运行(事先在同目录下建立一个Upload文件夹保存上传的文件,再建立一个数据库、表Upload,字段ID:自动编号,FilePath:文本型):









Sub UploadFile()Sub UploadFile(sender As Object, e As EventArgs)

Dim FileExt

FileExt = LCase(Right(Trim(FileUp.Value),3))

If FileExt = "gif" Or FileExt = "jpg" Or FileExt = "bmp" Or FileExt = "png" Or FileExt = "tif" Or LCase(Right(Trim(FileUp.Value),4)) = "jpeg" Then

If FileUp.PostedFile.ContentLength = 0 Then

FileInfo.Visible = False

Exit Sub

Else

FileInfo.Visible = True

End If

FSize.Text = CStr(FileUp.PostedFile.ContentLength)

FName.Text = FileUp.PostedFile.FileName

Dim FileSplit() As String = Split( FileUp.PostedFile.FileName, "\" )

Dim FileName As String = FileSplit(FileSplit.Length-1)

FileUp.PostedFile.SaveAs( Server.MapPath(".") & "\Upload\" & FileName )

'把文件路径写入数据库 By Dicky 2005-7-12 9:26:29

' Access数据库用这个

' Dim objCommand As OleDbCommand

' Dim objConnection As OleDbConnection

' objConnection = New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("Upload.mdb"))

' objCommand = New OleDbCommand("Insert Into Upload (FilePath) Values ('Upload/"+FileName+"')" , objConnection)

' Access数据库用这个

' SQL Server数据库用这个

Dim objCommand As SqlCommand

Dim objConnection As SqlConnection

objConnection = New SqlConnection("Server=localhost;Uid=sa;Pwd=;Database=Shat_edg")

objCommand = New SqlCommand("Insert Into Upload (FilePath) Values ('Upload/"+FileName+"')" , objConnection)

' SQL Server数据库用这个



objConnection.Open()

objCommand.ExecuteNonQuery()

objConnection.Close()

'把文件路径写入数据库 By Dicky 2005-7-12 9:26:29

Dim Exts() As String = Split( FileName, "." )

Dim Ext As String = LCase(Exts(Exts.Length-1))

If Ext "jpg" And Ext "jpeg" And Ext "gif" And Ext "txt" And Ext "htm" And Ext "html" Then

FDisplay.Visible = False

Else

FDisplay.Text = "<A Target='_blank' HREF='Upload/" & _

FileName & "'>上传文件"

End If

Response.Write("上传成功!")

Else

' Msgbox("对不起,只能上传扩展名为gif、jpg、bmp、png、tif或jpeg等图片文件!",65,"a")

Response.Write("对不起,只能上传扩展名为gif、jpg、bmp、png、tif或jpeg等图片文件!")

End If

End Sub







文件上传





上传文件



上传文件



<Asp:button id="Upload" OnClick="UploadFile" Text="Upload"

runat="server"/>





上传文件名

上传文件大小







//判断是否上传了文件
if (file.HasFile)
{
//指定上传文件在服务器上的保存路径
string savePath = Server.MapPath("~/upload/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(savePath))
{
//需要注意的是,需要对这个物理路径有足够的权限,否则会报错
//另外,这个路径应该是在网站之下,而将网站部署在C盘却把上传文件保存在D盘
System.IO.Directory.CreateDirectory(savePath);
}
savePath = savePath + "\\" + file.FileName;
file.SaveAs(savePath);//保存文件
用的是FileUpload控件ID为file,“~/upload/”为本项目下的文件夹,自己创建

这个你看看符合你要求不?

uploadx.asp

<% Dim FormData, FormSize, Divider, bCrLf
FormSize = Request.TotalBytes
FormData = Request.BinaryRead(FormSize)
bCrLf = ChrB(13) & ChrB(10)
Divider = LeftB(FormData, InStrB(FormData, bCrLf) - 1)
'将上传的文件保存到path所指定的目录下面。
'Formfield 上传表单的"file"域名 Path
' 要保存文件的服务器绝对路径,形式为:"d:\path\subpath"或"d:\path\subpath\"
'MaxSize 限制上传文件的最大长度,以KByte为单位
' SavType 服务器保存文件的方式:
'0 唯一文件名方式,如果有同名则自动改名;
'1 报错方式,如果有同名则出错;
'2 覆盖方式,如果有同名则覆盖原来的文件
Function SaveFile(FormFileField, Path, MaxSize, SavType)
Dim StreamObj,StreamObj1
Set StreamObj = Server.CreateObject("ADODB.Stream")
Set StreamObj1 = Server.CreateObject("ADODB.Stream")
StreamObj.Mode = 3
StreamObj1.Mode = 3
StreamObj.Type = 1
StreamObj1.Type = 1
SaveFile = ""
StartPos = LenB(Divider) + 2
FormFileField = Chr(34) & FormFileField & Chr(34)
If Right(Path,1) <> "\" Then
Path = Path & "\"
End If
Do While StartPos > 0
strlen = InStrB(StartPos, FormData, bCrLf) - StartPos
SearchStr = MidB(FormData, StartPos, strlen)
If InStr(bin2str(SearchStr), FormFileField) > 0 Then
FileName = bin2str(GetFileName(SearchStr,path,SavType))
If FileName <> "" Then
FileStart = InStrB(StartPos, FormData, bCrLf & bCrLf) + 4
FileLen = InStrB(StartPos, FormData, Divider) - 2 - FileStart
If FileLen <= MaxSize*1024 Then
FileContent = MidB(FormData, FileStart, FileLen)
StreamObj.Open
StreamObj1.Open

StreamObj.Write FormData
StreamObj.Position=FileStart-1
StreamObj.CopyTo StreamObj1,FileLen
If SavType =0 Then
SavType = 1
End If
StreamObj1.SaveToFile Path & FileName, SavType
StreamObj.Close
StreamObj1.Close
If SaveFile <> "" Then
SaveFile = SaveFile & "," & FileName
Else
SaveFile = FileName
End If
Else
If SaveFile <> "" Then
SaveFile = SaveFile & ",*TooBig*"
Else
SaveFile = "*TooBig*"
End If
End If
End If
End If
If InStrB(StartPos, FormData, Divider) < 1 Then
Exit Do
End If
StartPos = InStrB(StartPos, FormData, Divider) + LenB(Divider) + 2
Loop
End Function

'获取表单值
Function GetFormVal(FormName)
GetFormVal = ""
StartPos = LenB(Divider) + 2
FormName = Chr(34) & FormName & Chr(34)
Do While StartPos > 0
strlen = InStrB(StartPos, FormData, bCrLf) - StartPos
SearchStr = MidB(FormData, StartPos, strlen)
If InStr(bin2str(SearchStr), FormName) > 0 Then
ValStart = InStrB(StartPos, FormData, bCrLf & bCrLf) + 4
ValLen = InStrB(StartPos, FormData, Divider) - 2 - ValStart
ValContent = MidB(FormData, ValStart, ValLen)
If GetFormVal <> "" Then
GetFormVal = GetFormVal & "," & bin2str(ValContent)
Else
GetFormVal = bin2str(ValContent)
End If
End If
If InStrB(StartPos, FormData, Divider) < 1 Then
Exit Do
End If
StartPos = InStrB(StartPos, FormData, Divider) + LenB(Divider) + 2
Loop
End Function

Function bin2str(binstr)
Dim varlen, clow, ccc, skipflag
skipflag = 0
ccc = ""
varlen = LenB(binstr)
For i = 1 To varlen
If skipflag = 0 Then
clow = MidB(binstr, i, 1)
If AscB(clow) > 127 Then
ccc = ccc & Chr(AscW(MidB(binstr, i + 1, 1) & clow))
skipflag = 1
Else
ccc = ccc & Chr(AscB(clow))
End If
Else
skipflag = 0
End If
Next
bin2str = ccc
End Function

Function str2bin(str)
For i = 1 To Len(str)
str2bin = str2bin & ChrB(Asc(Mid(str, i, 1)))
Next
End Function

Function GetFileName(str,path,savtype)
Set fs = Server.CreateObject("Scripting.FileSystemObject")
str = RightB(str,LenB(str)-InstrB(str,str2bin("filename="))-9)
GetFileName = ""
FileName = ""
For i = LenB(str) To 1 Step -1
If MidB(str, i, 1) = ChrB(Asc("\")) Then
FileName = MidB(str, i + 1, LenB(str) - i - 1)
Exit For
End If
Next
If savtype = 0 and fs.FileExists(path & bin2str(FileName)) = True Then
hFileName = FileName
rFileName = ""
For i = LenB(FileName) To 1 Step -1
If MidB(FileName, i, 1) = ChrB(Asc(".")) Then
hFileName = LeftB(FileName, i-1)
rFileName = RightB(FileName, LenB(FileName)-i+1)
Exit For
End If
Next
For i = 0 to 9999
hFileName = hFileName & str2bin(i)
If fs.FileExists(path & bin2str(hFileName) & i & bin2str(rFileName)) = False Then
FileName = hFileName & str2bin(i) & rFileName
Exit For
End If
Next
End If
Set fs = Nothing
GetFileName = FileName
End Function
%>

实现无组件上传,可以设置图片个数,图片格式,方式易懂,可以COPY到DW中比较容易看,调试过可用.

upload.htm -----------------------------------------------
<html>
<head>
<title>图片上传</title>
</head>
<body>
<form name="form1" method="post" action="upload.asp" enctype="multipart/form-data" >
<table border="1" cellspacing="0" cellpadding="0" bordercolorlight="#000000" bordercolordark="#CCCCCC" width="91" height="23">
<tr>
<td align="left" valign="middle" height="18" width="18"> </td>
<td bgcolor="#CCCCCC" align="left" valign="middle" height="18" width="67"> 文件上传</td>
</tr>
</table>
<br>
<input type="hidden" name="act" value="upload">
<br>
<table width="71%" border="1" cellspacing="0" cellpadding="5" align="center" bordercolordark="#CCCCCC" bordercolorlight="#000000">
<tr bgcolor="#CCCCCC">
<td height="22" align="left" valign="middle" bgcolor="#CCCCCC"> 文件上传</td>
</tr>
<tr align="left" valign="middle" bgcolor="#eeeeee">
<td bgcolor="#eeeeee" height="92">
<script language="javascript">
function setid()
{
str='<br>';
if(!window.form1.upcount.value)
window.form1.upcount.value=1;
for(i=1;i<=window.form1.upcount.value;i++)
str+='文件'+i+':<input type="file" name="file'+i+'" style="width:400" class="tx1"><br><br>';
window.upid.innerHTML=str+'<br>';
}
</script>
<li> 需要上传的个数
<input type="text" name="upcount" class="tx" value="1">
<input type="button" name="Button" class="bt" onclick="setid();" value="设定">
</li>

<br>
<br>
<li>上传到:
<input type="text" name="GuFolderPath" class="tx" style="width:350" value="">
</li>
</td>
</tr>
<tr align="center" valign="middle">
<td align="left" id="upid" height="122"> 文件1:
<input type="file" name="file1" style="width:400" class="tx1" value="">
</td>
</tr>
<tr align="center" valign="middle" bgcolor="#eeeeee">
<td bgcolor="#eeeeee" height="24">
<input type="submit" name="Submit" value=" 上 传 " class="bt">
<input type="reset" name="Submit2" value=" 重 置 " class="bt">
</td>
</tr>
</table>
</form>
</body>
</html>
<script language="javascript">

setid();
</script>

upload.asp -----------------------------------------
<%OPTION EXPLICIT%>
<%Server.ScriptTimeOut=5000%>

<html>
<head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<meta http-equiv="Content-Language" Content="zh-CN">

</head>

<body leftmargin="10" topmargin="10" bgcolor="#FFFFFF">

<!-- #include file="upload_5xsoft.inc" -->

<%
dim upload,file,formName,iCount,FolderNameNew
dim GuFolderPath,fso,GuFolder0,GuFileSize0,GuFileExt0,GuAutoName

set upload=new upload_5xsoft '建立上传对象

GuFolder0="" '设定默认上传的目录,必须以“/”结束,可以为空
GuFileSize0=2048 '设定默认允许上传的最大文件,单位:K,1024K=1M
GuFileExt0="bmp|gif|jpg|jpeg|png|swf" '设定默认允许上传的文件类型
GuAutoName="1" '设定上传成功后的文件名是否自动重新命名或是使用原来的名称,1为是,0为否
if upload.form("GuFolderPath")<>"" then
GuFolderPath=upload.form("GuFolderPath")
call FolderNameCheck(GuFolderPath)
GuFolderPath=upload.form("GuFolderPath")
if right(GuFolderPath,1)<>"/" then GuFolderPath=GuFolderPath&"/"

elseif upload.form("GuFolderPath")="" and GuFolder0<>"" then
GuFolderPath=GuFolder0
call FolderNameCheck(GuFolderPath)
GuFolderPath=GuFolder0
if right(GuFolderPath,1)<>"/" then GuFolderPath=GuFolderPath&"/"

else
GuFolderPath=""

end if

iCount=0
for each formName in upload.objForm '列出所有form数据
Response.write formName&"="&upload.form(formName)&"<br>"
next

Response.write "<br><br>"

for each formName in upload.objFile '列出所有上传了的文件

set file=upload.file(formName)

if file.FileSize>0 then

dim FileExtF,FileExtY,FileExtOK,ii,jj
FileExtF=split(File.FileName,".")
for jj=0 to ubound(FileExtF)
next
FileExtY=0
FileExtOK=split(GuFileExt0,"|")

for ii=0 to ubound(FileExtOK)
if FileExtOK(ii)=FileExtF(jj-1) then
FileExtY=1
exit for
end if
next

if FileExtY=0 then
Htmend "上传失败,不允许上传的文件类型"

elseif file.FileSize>GuFileSize0*1024 then
Htmend "上传失败,单个文件大小超过限制,最大"&GuFileSize0&"*1024 字节,1K=1024字节"

else
dim FileNameOK
if GuAutoName="1" then
FileNameOK=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&iCount&"."&FileExtF(jj-1)
else
FileNameOK=file.FileName
end if

file.SaveAs Server.mappath(GuFolderPath&FileNameOK) '保存文件
Response.write file.FilePath&file.FileName&"(大小:"&file.FileSize&" 字节) => "&GuFolderPath&FileNameOK&" 成功! <br>"
iCount=iCount+1

end if

else
Htmend "上传失败,请选择要上传的文件"

end if

set file=nothing

next

set upload=nothing

Htmend iCount&" 个文件上传成功!"

Sub FolderNameCheck(FolderNameNew)

dim Letters,i,c
Letters="+=;,[]<>\|*?"
for i=1 to len(FolderNameNew)
c=mid(FolderNameNew,i,1)
if inStr(Letters,c)<>0 then
Htmend "上传失败,文件夹名称含有特殊字符"
end if
next

GuFolderPath=server.MapPath(GuFolderPath)
Set fso=Server.CreateObject("Scripting.FileSystemObject")
if fso.FolderExists(GuFolderPath)=false then
fso.CreateFolder(GuFolderPath)
end if
Set fso=nothing

End sub

Sub HtmEnd(Msg)
set upload=nothing
response.write "<br>"&Msg&" <br><br><input type=""button"" value="" 返 回 "" onclick=""javascript:history.back();""></body></html>"
response.end
End sub
%>

</body>
</html>


vb怎么实现在图片框拖动画圆的功能,松开鼠标结束画圆?
Dim sp As Shape, sx As Single, sy As SinglePrivate Sub Form_Load() Set sp = Me.Controls.Add("VB.Shape", "shape1") Set sp.Container = Picture1 sp.Shape = 3 sp.BorderColor = &H888888 sp.Visible = False Picture1.AutoRedraw = TrueEnd SubPrivate Sub...

短信联盟里的sp广告是怎么来的
这些潜在购买者就会收到这条精心制作的短信广告。总之,短信联盟里的SP广告是通过广告主与短信服务提供商(SP)的合作实现的。广告主提供广告内容和投放要求,SP负责审核、筛选和发送广告内容给目标用户。这种合作方式使得广告主能够利用短信这一高效的传播渠道,实现产品推广和品牌推广的目的。

什么是OTK(在SP中常提到的}?
最早见于游戏王DM。源自剧中人物马利克借由神之卡太阳神的翼神龙的动画效果只在一回合之间将对手击倒的战术。同理,OCG中,OTK便被玩家用来指代做好准备后,在一回合间,将对手LP直接从满值清光或是达成特殊胜利条件的打法。由于官方有意识的引导,OTK的实现难度正在日益增大。【点击测试我适不适合学设计...

记录自己sp实践过程
SP的好处体现在以下方面:通过Sprint周期快速响应需求变化,为产品交付提供快速和持续的价值;了解开发需求,改善开发流程,提高开发成果和产品品质;通过团队协作获得问题解决方案,提高开发人员的工作氛围和满意度;通过透明,评审和回顾来保证交付质量。SP实践经验 在SP实践中,我们建议遵循以下经验,以实现敏捷...

什么是S8SP路线和隐藏路线啊?
举个例子,假设我们要传输一份包含重要商业机密的文件。使用S8SP加密路线,我们可以对文件进行加密,确保在传输过程中即使被拦截也无法被解密和读取。而使用隐藏路线,我们可能会将这份文件伪装成一幅普通的图片或文档,使其在传输过程中不易被察觉和识别。总的来说,S8SP加密路线和隐藏路线在保护数据安全...

sp怎么让模型一部分不显示
使用图层功能可以让模型的一部分不显示。在3D建模软件中,你可以将模型的不同部分放置在不同的图层中。通过将需要隐藏的部分放置在一个单独的图层中,并将该图层的可见性设置为隐藏,你就可以让模型的一部分不显示。具体操作可能因软件而异,但通常可以通过选择图层并执行隐藏命令来实现。

sp_addrolemember示例
在Windows NT环境中,我们可以通过sp_addrolemember存储过程来实现用户权限的管理。以下是一个具体的实例,将用户Corporate\\JeffL添加到SQL Server的Sales数据库中,并将其身份关联为用户Jeff。首先,登录到SQL Server管理工具,执行以下步骤:1. 确保已经以具有足够权限的账号登录,比如sa或者拥有db_owner角色...

在Dreamweaver中,怎么实现图片可以随便移动
在网页中插入一个apdiv,将图片插入到apdiv中。切换到拆分视图,选中body标签,调出行为面板。给body标签添加拖动ap元素行为,设置好参数后就可以实现效果 实例代码如下:<!DOCTYPE html PUBLIC "-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN" "地址\/xhtml1\/DTD\/xhtml1-transitional.dtd"> 123 <!

iPhone6能用Live Photos吗 苹果6支持Live Photos拍照吗
正常情况下是不支持的。Live Photos是iPhone 6s和iPhone6s Plus才开始应用的拍照中的一大亮点,简单来说,通过Live Photos拍照,可以拍摄出带有声音的动态图片,类似于小视屏功能。

什么是OTK(在SP中常提到的}?
OTK的最特殊情况称ZTK(zero turn kill),即对方先攻在其第一回合中解决对手,只在游戏王GX的动画版中斎王琢磨使出过一次。 (注意,游戏王5D's88集的决斗是FTK而不是ZTK,ZTK是指对方先攻并在第一回合败北)。现实中实现方式是后攻第一回合在手牌中集齐埃及使者五部件,或者是后攻玩家手上凑起3张...

东山县19779924053: 用ASP如何将图片传到指定的文件夹中,不需要传到数据库中. -
芮娇伏甲: 两步:1、表单用二进制方式提交,把图片传回服务器;2、ASP里面用ADO.Stream对象读取和保存成图片文件,保存时可以指定保存路径.关键的两点都说了,参考资料就不提供了,比较多,搜一搜吧.

东山县19779924053: ASP中怎么实现图片上传到文件夹 -
芮娇伏甲: 这个你看看符合你要求不?uploadx.asp<% Dim FormData, FormSize, Divider, bCrLf FormSize = Request.TotalBytes FormData = Request.BinaryRead(FormSize) bCrLf = ChrB(13) & ChrB(10) Divider = LeftB(FormData, InStrB(FormData, bCrLf)...

东山县19779924053: 求个简单的asp上传图片到指定文件夹的例子? -
芮娇伏甲: upload.htm upload.asp <% '生成随机字符串 Function gen_key(digits) '定义并初始化数组 dim char_array(80) '初始化数字 For i = 0 To 9 char_array(i) = CStr(i) Next '初始化大写字母 For i = 10 To 35 char_array(i) = Chr(i + 55) Next '初始化小写字母 ...

东山县19779924053: 怎样用asp实现图片上传到文件夹,路径保存在 sql数据库中 -
芮娇伏甲: savefilename = Server.MapPath("../GoodsView/upfile")+"/" + filename1; FileInfo f_name = new FileInfo(File1.PostedFile.FileName); string s1 = f_name.Extension.ToString(); //取得后缀名 if( s1 == ".jpg" || s1 == ".gif" || s1 == ".JPG...

东山县19779924053: 通过ASP上传如何上传图片到指定文件夹中,以及传入数据库,我用的是ACCESS2000 请高手指点. -
芮娇伏甲: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><br><!--#include file="SundyUpload.asp"--><br><!--#include file="inc/conn.asp"--><br><%<br>'此例子文档编码都是UTF-8,如果是其他编码的系统,请将编码转换为相应的编码...

东山县19779924053: ASP.NET中如何上传图片到服务器所制定的一个文件夹中去? -
芮娇伏甲: 首先你要引入:using System.Io; string savepath=Server.MapPath("~/你要指定的文件夹"); 然后用 save(savepath+"你要把它保存的文件名.扩展名"); 就可以了.

东山县19779924053: asp,最简单的上传图片
芮娇伏甲: 1.如果服务器装了文件上传组件,可查阅一下该组件的相关属性和方法,不过现在很多服务器空间都不支持这类组件.暂不在这里讨论. 2.若服务器不支持文件上传组件,可以考虑自己写个无组件上传程序,网上有一个"化境无组件上传"比较经...

东山县19779924053: (:ASP.NET中怎么实现下面的功能,通过FileUpload将图片上传到服务器指定的文件夹,然后在通过图片的路径 -
芮娇伏甲: 当你选择图片后,你就可以获取图片的名称,后台路径你也是知道的. 你只要构造个路径给image就可以了.

东山县19779924053: ASP中怎样批量上传图片(带预览)到指定文件夹,并将目录保存到数据库中 -
芮娇伏甲: 本人有源代码,有预览、批量,兼容各主流浏览器.不过还不完善,得依据你的需求去自己改动.添加到数据库就是将上传后的文件名及路径保存到数据库而且.调入个写入库的代码就可以了.

东山县19779924053: 用ASP能实现把我的电脑上的图片或者文件上传到我指定的空间文件夹吗??
芮娇伏甲: 1、下载个上传程序到空间 2、修改这个程序到指定的文件夹 3、上传! ++++ 指定的空间得你有权力,如果你没有权力,那就NO了!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网