㈠ ASP上传重命名问题
1
上传的时候你用到input那个控件了吧
他有个属性
SaveAs
用法如下
inputFile.PostedFile.SaveAs(路径+文件名);
文件名防止重名可以在前面加上时间日期
String
fileTime
=
DateTime.Now.Year.ToString()
+
DateTime.Now.Month.ToString()
+
DateTime.Now.Day.ToString()
+
DateTime.Now.Hour.ToString()
+
DateTime.Now.Second.ToString()
+
DateTime.Now.Minute.ToString()
+
DateTime.Now.Millisecond.ToString();
2
传文件后
将文件路径
文件名等信息插入数据库中
这样可以查询列表
文件删除
用File.Delete(路径+文件名);
重命名用File.Move(path,
path2);
注意名空间
using
System.IO;
㈡ asp如何实现文件上传功能
基本原理是:采用ADO Stream对象的BinaryRead方法将FORM中的所有数据读出,从中截取出所需的文件数据,以二进制文件方式存盘。
下面是上传文件页面的一个例子:
<html>
<body>
<form name="Upload" Method="Post" Enctype="multipart/form-data" Action="Upload.asp">
<input type="file" name="FileName">
<INPUT TYPE="Submit" VALUE="Upload"></TD>
</form>
</body>
</html>
(2)asp怎么上传文件名扩展阅读
几种文件上传技术的比较
1、基于HTTP协议
该方法需要编程者利用第三方软件,如DELPHI、VB等,在应用程序中先进行HTTP协议编程,然后将待上传文件内容按HTTP协议的格式打包,最后向WEB服务器发送上传的请求报文,从而实现文件的上传。
因为DELPHI和VB不能编写完整的WEB网络程序,只能编写WEB小应用程序,因此,该方法只用于功能受限的网络应用。
2、基于VB(或DELPHI等)开发的文件上传组件
该方法利用VB(或DELPHI等编程语言)开发ASP服务器组件,实现特定的文件上传服务。它首先利用ASP表单功能将文件(二进制格式)从用户端上传到服务器端,然后使用VB开发的组件,对二进制文件进行处理,成为可以正常读写的文件。
该方法要求编程者不仅掌握ASP语言,而且还能利用VB等第三方语言进行组件编程,增加了开发的难度。
3、基于数据库技术
该方法和上个方法有类似之处。不同的地方在于对上传的二进制文件的处理上。它使用数据库来保存二进制文件。无论是小型数据库还是大型数据库都提供了存储二进制数据的数据类型,只要以Append Chunk方式将数据存入相应的字段就可以了。
该方法虽然简单可行,但是因为每次上传的文件大小都是不一样的,因此,会对数据库的空间造成很大的浪费,降低了数据的访问速度;并且使得文件只能在数据库环境下进行访问,造成了很大的不便。
㈢ 如何使用AspUpload组件上传文件
一、摘要
Asp组件有内置的、服务器安装时附带的,更多的是第三方提供的,今天来学习文件上传的其中一个组件aspupload组件使用方法。
二、aspupload组件的下载、安装或注册
1、asp组件的下载、安装
(1)可以从网上下载。
(2)直接双击后进行安装。
AspUpload组件下载
2、asp上传组件的功能
a.限制上载文件的大小
b.设置用户的权限
c.修改文件属性
d.同时上载多个文件
e.能够将文件保存到数据库中
f.支持文件删除,自动生成与服务器上文件不同名的文件
g.拥有管理权限的用户甚至可以使用该控件进行远程注册
三、aspupload组件的简单应用
1、实例一(1.asp):通过代码实现三个文件的上传功能。
如下图所示:
(1)静态页面:1个表单,三个文件域,一个按钮,其中表单form的动作如下。
(2)其中客户端文件要注意几点:
* 文件上载提交表单(Form)的enctype必须指定为“multipart/form-data”
* 语句表示上载文件域,用户可以在该域中输入或选定文件。
* 传递一个参数act(名称可自己取),其值可以自己随便定,目的是触发上传事件。
(3)动态代码如下:
2、实例二(2.asp):修改程序1.asp,要求在上传文件后显示上传文件的文件名及大小。
如下图所示:
增加如下代码:
response.write("
文件1是:
")
response.write(upload.files(1).path)
response.write("
文件2是:
")
response.write(upload.files(2).path)
response.write("
文件3是:
")
response.write(upload.files(3).path)
说明:
upload.files方法用来获取文件的相关属性,path是文件的路径,size是文件的大小。
3、实例三(3.asp):修改程序2.asp,要求上传的三个文件大小不能超过5K,如果上传的文件已经存在则要求不覆盖文件。
在上传之前增加如下代码:
upload.setmaxsize 5120,false
upload.overwritefiles=false
说明:
(1)upload.setmaxsize 5120,false其功能为设置文件最大为5120字节,false参数说明当文件超过5120字节时则删除超过部分,true参数说明当文件超过5120字节时则出错。
(2)upload.overwritefiles=false,其功能表示文件不进行覆盖,如果上传同样文件名的文件,上传后文件名自动会在后面添加一个数字。
四、自学第二个上传文件的组件
1、Lyfupload组件的下载
2、学习此组件的安装或注册
3、通过课本例子进行文件的上传
五、问题
1、传到学校里服务器172.18.0.7运行时出现以下错误,Server.CreateObject 失败
分析原因:学校服务器不支持aspupload上传组件
2、如果服务器不支持aspupload等上传组件,请大家使用无组件上传功能(编写代码),见书本上P322,此类代码比较复杂,同学们能够拿来使用,无须自己编写。
3、大家在网上申请个人空间时要看清服务器支持哪些组件,这样有利于编写代码。
㈣ asp 提交表单和上传文件
asp.net和asp上传方式基本相似。都需要使用到form表单。下面分别介绍asp和asp.net两种文件上传方式。
第一种:asp方式
首先建立form表单
<form name="form1" method="post" action="send.asp"enctype="multipart/form-data">
<input name="title" type="text"/>
<input name="uploadimg" type="file" />
<input name="submit" type="submit" value="提交"/>
</form>
asp的表单一定要注意加上enctype="multipart/form-data"这个属性,否则是上传不了图片的,这个属性很关键。
上传处理代码也就是send.asp的处理代码。
因为asp本身没有上传的组件或控件,这里只能借助第三方式的组件或类。上传组件推荐使用aspJpeg组件,这个组件不仅可以上传文件,如果是图片的话,可以调节尺寸尺寸,创建缩略图等。很方便,目前一般的空间商都支持这个组件,另外就是使用组件上传类,像风声,无惧等,都是无组件上传。
上传代码,这里假设采用的是风声无组件上传类。类文件已经包含进去。
<include file="uploadclass.asp"-->
处理代码:
先初始化上传类
dim myrequest
set myrequest = new UpLoadClass
设置属性:
myrequest.FileType="gif,jpeg,jpg,png" //设置上传类型
myrequest.SavePath="../upload/" //设置上传路径
myrequest.MaxSize=100*1024 //设置上传文件的大小,
myrequest.AutoSave=1 //设置保存方式,为1表示自动保存
myrequest.Open //打开文件流
title =myrequest.form("title")
img =myrequest.form("uploadimg") //这两部表示接收form表单中的数据。不 能再用request.form或request.querystring来接收了,必须用刚才初始化的对象
myrequest来接收。
现在数据接收到了,剩下的就是保存到数据库。这和常用的数据保存方式一下的,拼接SQL.然后再执行,这里不赘述。
第二种asp.net方式。
asp.net方式,因为采用的是服务器控件,所以与asp有点区别。
首先是form不同,asp.net的form是服务器控件,需要添加ID和runat="Server"如
<form name="form1" ID="form1" runat="Server">
<asp:FileUpload ID="FileUpload1"runat="server" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传" /></form>
处理代码,上传并保存代码
protectedvoidButton1_Click(objectsender, EventArgs e)
{
StringsavePath = Server.MapPath("upload");
if(FileUpload1.HasFile)
{
Stringfilename;
filename = FileUpload1.FileName;
savePath +=filename;
FileUpload1.SaveAs(savePath);
Page.Response.Write(FileUpload1.PostedFile.ContentType + FileUpload1.PostedFile.ContentLength+"<br>");
Page.Response.Write("<img src='"+savePath+"'>");}
else
{
Page.Response.Write("fff");
}
}
asp提交和上传文件,与asp.net是不同的。一个是html标签,一个是服务器控件。相对来说,asp.net的文件上传比asp简单很多,因为asp.net提供了相对应的上传控件。而asp没有。只有采用第三方组件或无组件上传类。上传文件成功后,另外还可以加入更多的处理元素,如图片入库,加上水印等,这需要你自己去思考和查找资料了。
㈤ ASP上传文件怎么样得到文件名(去掉后缀的那部分)
post.asp
做为发表页,其中引用choose.asp作图片上传
choose.asp
提供浏览选择图片,提交数据给upload.asp
upload.asp中的asp程序负责上传
writepost.asp
负责将文本和图片名一起写入数据库
1--------
filename="上传后获得的文件名",然后upload.asp自动跳转choose.asp
页,加上参数,格式为:
choose.asp?filename="上传后获得的文件名"
然后你用Request.QueryString("filename")即可获取文件名,然后就能将post.asp中书写的文本一起提交给wirtepost.asp
保存了
2-----------
也可以用session来保存文件名,session("filename")="上传后获得的文件名",然后直接跳转回choose.asp,在post.asp页提供的表单中写完文本,提交给writepost.asp
保存,因为用的session所以不必担心文件名丢失
那最后在writepost.asp
中,如果用session,完成保存动作后,要清空session("filename")哦