一段简单 ASP文件上传实例

本教程将告诉你需要建立一个简单的应用程序,使用户能够上传PDF文件到服务器的步骤,删除现有的文件和查看他们的浏览器中的文件。这个例子使用我们自己的dgFileUpload组成部分,你可以下载一个15天的试用版在这里,您可以按照教程和测试自己的服务器完成的应用程序。所有的源代码,随着小Access 2000数据库教程在本教程中使用,可以下载在这里作为一个ZIP档案。

在下载并取消荏苒存档,您的网站根目录下创建(如的'C: inetpub wwwroot的 dgUpload'),并把两个ASP页(新目录'upload.asp教程'和'display.asp')和在那里的数据库。您还必须创建一个名为'PDF的'和设置此目录的安全保障,使为'完全控制Internet来宾帐户'用户。要做到这一点,右键点击'PDF文件的文件夹,并选择'属性',然后'安全'标签。如果'Internet来宾帐户'不是已经列出,请单击“添加'按钮,然后选择计算机名从'查找'下拉菜单。向下滚动,直至看到'为IUSR_ [计算机名]',选择此用户和点击'添加'按钮。点击'确定'重新回到'属性'窗口中,选择新添加的用户,给这个项目'完全控制'。您现在可以测试通过输入以下网址申请入浏览器:

http://localhost/dgUpload/upload.asp

在这个页面你会看到两个输入栏位,第一,您可以选择您想要的PDF文件上传和其他让你输入该文件的显示名称。此名称将显示为一个链接,查看'display.asp文件'后上传。浏览到一个合适的PDF文件,输入名称,然后点击'上传'按钮。您的文件将被上传到,你会被重定向到显示网页,其中将有1到文件的链接。有关详情(路径,显示名称和日期上传每个文件)存储在数据库中。让我们来看看代码执行此。

我们在声明变量,我们首先要做的是打开一个连接到数据库。

Set cnnDB = Server.CreateObject("ADODB.Connection")
strConn = "DRIVER={Microsoft Access Driver (*.mdb)};" & _
               "DBQ=" & Server.MapPath("newsletters.mdb")
cnnDB.Open strConn

Set oPost = Server.CreateObject("dgFileUpload.dgUpload")

Because we want to restrict the file size of the uploaded PDFs to something reasonable we will set this to 10 Megabytes.

oPost.MaxFileSize = 10000000

Next we grab the data posted from the form by calling the 'GetPostData' method.

oPost.GetPostData()

下面的代码抓起文件名和显示名称从形式收集,建立并执行SQL查询来存储在数据库中的文件详细信息,然后保存该文件到服务器上指定的目录。查看'源upload.asp'来看看这个代码与应用程序的其余部分集成。

 get the filename and display name
strDisplayName = oPost.Form("displayText")
strFileName = oPost.Files("pdfFile").FileName

' build the INSERT query
strQuery = "INSERT INTO NewsLetters (Filename, DisplayName) VALUES ('" & strFilename & "', '" & strDisplayName & "')"
cnnDB.Execute(strQuery)

' get the folder where we want to store the pdf
strFolder = Server.MapPath("pdfs") & ""

' save the uploaded pdf to the specified directory
intResult = oPost.Files("pdfFile").Save(strFolder & strFileName, 1)

' if the file upload is successful, redirect to
' the page that displays the files ("display.asp")
If intResult = 0 Then
    cnnDB.Close
    Set cnnDB = Nothing
    Response.Redirect("display.asp")
Else
    strFeedBack = "File upload failed. Error #" & intResult
End If

如果有问题或与上传保存过程中的'strFeedback'变量被分配一个合适的信息,然后显示给用户。这是处理使用客户端JavaScript一旦页面已被处理。再次,看提供的源代码是如何工作的更多细节。

正如前面提到的,上面的例子使用dgFileUpload但这一进程是任何类似的文件上传组件使用。本教程的其余部分是提取一个文件由迈克尔艾伦史密斯书面上传组件的文章,描述了上传文件使用其他两个组件的过程,软件和持续存在AspUpload工匠FileUp。

两者(FileUp和AspUpload)处理上传略有不同。让我们这些组件的代码来处理我们的每一个要求(上传仅低于指定大小的图像文件)。

的形式,在客户端上载一个文件,是相同的两个。

form name="form" action="upload.asp" enctype="MULTIPART/FORM-DATA" method="POST">
<input type="file" name="file1">
<input type="submit" value="Upload Files">
</form>

<%
intMaxFileSize = 8000
strUploadFolder = "c:uploadFolder"

Function isFileSizeOK(bytes)
' restrict file byte size
  byteMAX = intMaxFileSize
  If bytes > byteMAX Then
    isFileSizeOK = FALSE
  Else
    isFileSizeOK = TRUE
  End If
End Function

Function isValidFile(filename)
' define what file types you will permit to upload
  fileExtension = lcase(right(filename,4))
  select case fileExtension
  case ".gif",".jpg",".png","jpeg"
    isValidFile = TRUE
  case else
    isValidFile = FALSE
  end select
End Function
%>

Now the code for Software Artisans FileUp.

<%
Sub uploadSA
Set up = Server.CreateObject("SoftArtisans.FileUp")
up.Path = uploadFolder
If NOT up.IsEmpty Then
  filename = Mid(up.UserFilename, InstrRev(up.UserFilename, "") + 1)
' restrict file types to upload
  If isValidFile(filename) Then
' restrict file by size
  If isFileSizeOK(up.TotalBytes) Then
    up.Save
    strUploadStatus1 = "File [" & filename & "] Uploaded Successfully! " &     up.TotalBytes
  Else
    strUploadStatus1 = "ERROR: File Too Large: " & filename & " (" &     up.TotalBytes & " bytes)"
  End If
Else
  strUploadStatus1 = "ERROR: This File Type is restricted from uploading: "   & filename
  End If
End If
Set up = Nothing
End Sub
%>

坚持的AspUpload,您保存文件的第一个,然后执行检查。如果该文件没有通过检查,那么代码从服务器中删除它。该组件还具有“SaveToMemory”选项,它绕过写入到磁盘,直到指示。 ASPUpload具有内置图像处理和大小可以检测一个文件是一个带有。ImageType物业的形象,但这个例子中,我们将使用isValidFile功能。

<%
Sub uploadPersists
Set up = Server.CreateObject("Persits.Upload.1")
up.OverwriteFiles = TRUE
up.SetMaxSize intMaxFileSize
up.Save uploadFolder
For Each File in up.Files
  fileName = File.ExtractFileName
  If isValidFile(fileName) Then
    If isFileSizeOK(File.OriginalSize) Then
    strUploadStatus2 = "File [" & filename & "] Uploaded Successfully! "
  Else
    strUploadStatus2 = "ERROR: File Too Large: " & fileName & " (" &     File.OriginalSize & " bytes)"
    File.Delete
  End If
Else
  File.Delete
  strUploadStatus2 = "ERROR: This File Type is restricted from uploading: "   & fileName
End If
Next
End Sub
%>

时间: 2025-01-29 18:59:35

一段简单 ASP文件上传实例的相关文章

简单php文件上传实例

html代码  代码如下 复制代码 <input   type= "file "   id= "userfile "   name= "userfile "> <input   type= "submit "   name= "upload "   value= "上传 "> 处理上传php代码    代码如下 复制代码 <?php function   d

asp.net 文件上传实例汇总

 文件上传在asp.net中有很多方法,这里我很给各位介绍最简单最方便的.net文件上传实例,希望给各位.net入门者带来帮助 ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法.   方法一:用Web控件FileUpload,上传到网站根目录.   Test.aspx关键代码:    代码如下:      <form id="form1" runat="server">      <

thinkPHP3.2简单实现文件上传的方法_php实例

本文实例讲述了thinkPHP3.2简单实现文件上传的方法.分享给大家供大家参考,具体如下: IndexController.class.php: <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { function index(){ $this->display(); } public function upload(){ $upload = new

Spring学习笔记2之表单数据验证、文件上传实例代码_java

在上篇文章给大家介绍了Spring学习笔记1之IOC详解尽量使用注解以及java代码,接下来本文重点给大家介绍Spring学习笔记2之表单数据验证.文件上传实例代码,具体内容,请参考本文吧! 一.表单数据验证 用户注册时,需要填写账号.密码.邮箱以及手机号,均为必填项,并且需要符合一定的格式.比如账号需要32位以内,邮箱必须符合邮箱格式,手机号必须为11位号码等.可以采用在注册时验证信息,或者专门写一个工具类用来验证:来看下在SpringMVC中如何通过简单的注释实现表单数据验证. 在javax

jQuery+ajax简单实现文件上传的方法_jquery

本文实例讲述了jQuery+ajax简单实现文件上传的方法.分享给大家供大家参考,具体如下: 可以通过ajax来提交表单,而不会刷新页面.主要使用的方法是 $("#formID").ajaxSubmit()方法. 1.要引入js插件 需要下载的附件:jquery.form.js 2.页面代码: <script src="project/js/jquery.form.js" type="text/javascript"></scr

php 使用html5实现多文件上传实例_php实例

首先向大家介绍一下html5中file的multiple属性 定义和用法 multiple 属性规定输入字段可选择多个值.如果使用该属性,则字段可接受多个值. 实例: <form action="demo_form.asp" method="get"> Select images: <input type="file" name="img" multiple="multiple" />

ThinkPHP文件上传实例教程_php实例

文件上传是很多PHP程序项目中常见的一个功能,今天本文就来分享一个完整的实例,来实现ThinkPHP文件上传的功能.具体方法如下: 一.action部分: FileAction.class.php页面代码如下: <?php class FileAction extends Action{ function index(){ $file=M('file'); $list=$file->select(); $this->assign('filelist',$list); $this->

asp文件上传的速度和上传组件有关吗

问题描述 asp文件上传的速度和上传组件有关吗,我有两个上传文件源代码,一个上传组件是无惧上传组件一个是upload_5xsoft程序运行时前者上传文件90M很快上传了(都是本地上传到本地的),后者10M的都要很慢求解等大虾~~~ 解决方案 解决方案二:有关系有的组件做得很好上传很快解决方案三:由关系吧解决方案四:有关系的,尽量用第三方组件或者.Net上传,纯脚本写的效率不高

求gxt 文件上传实例(在gxt中如何提交formpanel,服务端怎么设计),求高手!

问题描述 求gxt 文件上传实例(在gxt中如何提交formpanel,服务端怎么设计),求高手! 解决方案 FormPanel form = new FormPanel();form .setMethod(Method.POST);form .setEncoding(Encoding.MULTIPART);FileUploadField fileUpload = new FileUploadField();fileUpload.getMessages().setBrowseText(msg.b