aspupload文件重命名及上传进度条的解决方法附代码第1/2页_应用技巧

发现还没有aspupload这个组件的,这两样功能的解决方案,现把我的改进方案写在这里!谢谢 
关于aspupload上传组件,文件重命名,进度条的问题解决方案! 
共用到4个文件,分别是1.asp,2.asp,bar.asp,framebar.asp 
运行第一个文件:1.asp,执行上传操作! 

复制代码 代码如下:

<%
'''进度条
dim SPid,PID,barref
Set UploadProgress = Server.CreateObject("Persits.UploadProgress")
SPid = UploadProgress.CreateProgressID()
PID = "PID=" & SPid
barref = "framebar.asp?to=10&" & PID
%>
<SCRIPT language="javascript">
<!--
function ShowProgress()
//加载进度条

  strAppVersion = navigator.appVersion;
  if (document.upfile.filename.value != "")
  {
    if (strAppVersion.indexOf('MSIE') != -1 && strAppVersion.substr(strAppVersion.indexOf('MSIE')+5,1) > 4)
    {
      winstyle = "dialogWidth=375px; dialogHeight:175px; center:yes;status:no";
      window.showModelessDialog('<% = barref %>&b=IE',window,winstyle);
    }
    else
    {
      window.open('<% = barref %>&b=NN','','width=370,height=165', true);
    }
  }
  return true;
}
function isPic(){
    var temp;
    var ExtList = ".jpg.gif.bmp.png.swf";//客户端,检测文件后缀名,省得上传完成后,才报文件类型错误!
    var filename = upfile.filename.value;
    var the_ext = filename.substr(filename.lastIndexOf(".")+1).toLowerCase();
    if (ExtList.indexOf(the_ext)==-1){
        alert("不是图片,请选择图片文件!");
        return false;
    }
    return true;
}
//-->
</SCRIPT>
  <html>
  <head></head>
  <body>
  <form method="post"enctype="multipart/form-data"action="2.asp?<% = PID %>"name="upfile"OnSubmit="return ShowProgress();"> 
  
  选择要上传的文件:<br>
  <input type=file name="filename"><br>
  <input type=submit value="上传" onclick="return isPic()">
  </form> 

  </body>
  </html>

2.asp

复制代码 代码如下:

<%

Set Upload = Server.CreateObject("Persits.Upload") 

' Prevent overwriting 
Upload.OverwriteFiles = False 

' We use memory uploads, 文件大小限制 ,单位:b
Upload.SetMaxSize 1*1024*1024*1024, true 

if Request.QueryString("PID") = "" then
                Upload.ProgressID="010D60EB00C5AA4B"
        else
                Upload.ProgressID=Request.QueryString("PID")
        end if

On Error Resume Next

' Save to memory 保存到内存
Upload.Save

If Err.Number = 8 Then
   Response.Write "文件大于1G"
End If 

'为使文件不重名,用系统时间+随机数,作为文件名
Dim ranNum
        randomize
        ranNum=int(999*rnd)
        CreateName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum
NewName = CreateName
'保存文件路径
articlepath = Server.MapPath("upload1") 

For Each File in Upload.Files 
        FileExt=Lcase(replace(File.ext,".",""))
                '服务器端判断文件类型,动网论坛的判断方式
                If CheckFileExt(FileExt)=false then
                        Response.write "文件格式不正确,或不能为空 [ <a href=# onclick=history.go(-1)>重新上传</a> ]"

                        else
   File.SaveAs articlepath & "/" & NewName & File.ext 
   Response.Write "New name: " & File.FileName & "<BR>" 
End If

Next 

%> 
<%
'服务器端判断文件类型,动网论坛的判断方式
Private Function CheckFileExt(FileExt)

        If FileExt="" or IsEmpty(FileExt) Then
                CheckFileExt=false
                Exit Function
        End If
        If Lcase(FileExt)="asp" or Lcase(FileExt)="asa" or Lcase(FileExt)="aspx" then
                CheckFileExt=false
                Exit Function
        End If
        If Lcase(FileExt)="gif" or Lcase(FileExt)="jpg" or Lcase(FileExt)="png" or Lcase(FileExt)="swf" or Lcase(FileExt)="bmp" then
                CheckFileExt=true
                Exit Function
        Else
                CheckFileExt=false
        End If
End Function
%>

当前1/2页 12下一页阅读全文

时间: 2024-10-26 02:27:45

aspupload文件重命名及上传进度条的解决方法附代码第1/2页_应用技巧的相关文章

PHP文件上传进度条基于Session与Javascript实现

下面我们就详细介绍一下 PHP 5.4 的这个 session.upload_progress 新特性. 原理介绍 当浏览器向服务器端上传一个文件时,PHP将会把此次文件上传的详细信息(如上传时间.上传进度等)存储在session当中.然后,随着上传的进行,周期性的更新session中的信息.这样,浏览器端就可以使用Ajax周期性的请求一个服务器端脚本,由该脚本返回session中的进度信息:浏览器端的Javascript即可根据这些信息显示/更新进度条了. 那么,文件上传信息具体是如何存储的?

PHP文件上传进度条的具体实现方式

我们在编写文件上传代码的时候,还需要考虑一个重要的实现功能,那就是文件上传所需要的进度条.目前我知道PHP文件上传进度条的方法有两种,一种是使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现,另外一种方法是使用PECL扩展模块uploadprogress实现. 基于PHP的AJAX技术的具体应用解析 PHP限制上传文件大小的具体解决办法 PHP批量上传图片的具体实现方式 PHP动态多文件上传的具体代码分享 PHP通用文件上传类的具体解析 我这里举两个分别实现的例子供参考,

php使用APC实现实时上传进度条功能_php技巧

php不具备实时上传进度条功能,如果想有这种功能我们一般会使用ajax来实现,但是php提供了一个apc,它就可以与php配置实现上传进度条功能. 主要针对的是window上的应用.1.服务器要支持apc扩展,没有此扩展的话,下载一个扩展扩展要求php.5.2以上. 2.配置apc相关配置,重启apache代码如下 extension=php_apc.dll   apc.rfc1867 = on   apc.max_file_size = 1000M   upload_max_filesize

PHP利用APC模块实现文件上传进度条的方法_php技巧

本文实例讲述了PHP利用APC模块实现文件上传进度条的方法.分享给大家供大家参考.具体分析如下: 以前的php5.2之前的版本是不能可使用APC模块的,因为之前的压根就没有这个APC模块,如果想使用APC模块实现上传进度条我们必须是php5.2或更高版本. 从5.2开始APC加入了一个叫APC_UPLOAD_PROGRESS的东东,解决了困扰大家已久的进度条问题.并且它把原来的上传时把临时文件全部缓存到内存改成了当临时文件达到设定值时就自动保存到硬盘,有效地改善了内存利用状况. 它的作用原理是在

PHP中利用APC模块实现文件上传进度条

从5.2开始APC加入了一个叫APC_UPLOAD_PROGRESS的东东,解决了困扰大家已久的进度条问题.并且它把原来的上传时把临时文件全部缓存到内存改成了当临时文件达到设定值时就自动保存到硬盘,有效地改善了内存利用状况. 它的作用原理是在上传时候赋予每个上传一个唯一的ID,当 PHP 脚本收到一个上传文件时,解释程序将自动检查 $_POST数组中名为 APC_UPLOAD_PROGRESS 的隐藏字段,它将成为缓存变量,存储关于上传的信息,这样脚本就可以通过上传的ID来访问上传文件的状态信息

服务器-我这样做asp.net异步文件上传进度条

问题描述 我这样做asp.net异步文件上传进度条 前台两个请求 1.上传文件的请求 2.获取上传进度的请求 1. $("#ufrm").ajaxSubmit({ url: "ReceivFile.ashx", type: "post", success: function (data) { ... 2. $.ajax({ type: "post", url: "Filepro.aspx", data: {

基于HTML5 Ajax文件上传进度条如何实现(jquery版本)_AJAX相关

在上篇文章给大家介绍了这篇文章里面的后台Servlet.所以这里只看前台的JS代码. 首先HTML5用AJAX提交数据先要学习一个HTML5新增加的对象:FormData FormData 对象可以使用append 方法进行 key - value的数据添加,与以前我们常用的json不同的就是可以异步上传二进制文件. 1.FormDate对象的创建 var formData = new FormData(); 2.向 FormDate 对象添加数据 formData.append("catnam

HTML5 Ajax文件上传进度条如何显示_AJAX相关

原本打算使用jquery插件进行异步文件上传,比如uploadfy但是需要额外的支持,也有人用iframe模仿异步上传机制,感觉都比较别扭.因为项目不考虑低版本浏览器,所以决定用html5实现.下面只是一个简单的demo,具体样式需要自己去做. 后台基于strut2进行文件处理,具体因项目而定.只是要注意设置文件大小的限制.  <constant name="struts.multipart.maxSize" value="52428800"/>这个配置

php ajax实现文件上传进度条_php技巧

本实例是关于php文件上传时进度条的实现,主要采用ajax技术,另外还运用了html5,有需要的朋友可以研究一下. 本实例有两个文件: upload_form.html: <!DOCTYPE html> <html> <head> <script> function _(el){ return document.getElementById(el); } function uploadFile(){ var file = _("file1"