asp上传文件代码详解

asp文件上传 asp文件上传,asp图片上传,asp上传文件,asp上传图片 阅读详情
一、无组件上传的原理 
我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,  

我们通过<input type="file">元素,但是一定要注意必须设置form的enctype 

属性为"multipart/form-data":  


<form method="post" action="upload.asp"  

enctype="multipart/form-data"> 
<label> 
<input type="file" name="file1" /> 
</label> 
<br /> 
<input type="text" name="filename" value="default filename"/> 
<br /> 
<input type="submit" value="Submit"/> 
<input type="reset" value="Reset"/> 
</form>  


在后台asp程序中,以前获取表单提交的ASCII 数据,非常的容易。但是如果 

需要获取上传的文件,就必须使用Request对象的BinaryRead方法来读取。Bin 

aryRead方法是对当前输入流进行指定字节数的二进制读取,有点需要注意的 

是,一旦使用BinaryRead 方法后,再也不能使用Request.Form 或  

Request.QueryString 集合了。结合Request对象的TotalBytes属性,可以将 

所有表单提交的数据全部变成二进制,不过这些数据都是经过编码的。首先让 

我们来看看这些数据是如何编码的,有无什么规律可循,编段代码,在代码中 

我们将BinaryRead读取的二进制转化为文本,输出出来,在后台的upload.asp 

中(注意该示例不要上传大文件,否则可能会造成浏览器死掉):  
<% 
Dim biData, PostData 
Size = Request.TotalBytes 
biData = Request.BinaryRead(Size) 
PostData = BinaryToString(biData,Size) 
Response.Write "<pre>" & PostData & "</pre>" '使用pre,原样输出格式 
' 借助RecordSet将二进制流转化成文本 
Function BinaryToString(biData,Size)  
Const adLongVarChar = 201 
Set RS = createObject("ADODB.Recordset") 
RS.Fields.Append "mBinary", adLongVarChar, Size 
RS.Open 
RS.AddNew 
RS("mBinary").AppendChunk(biData) 
RS.update 
BinaryToString = RS("mBinary").Value 
RS.Close 
End Function  
%>  

  

简单起见,上传一个最简单的文本文件(G:\homepage.txt,内容为"宝玉:htt 

p:// www.webuc.net ")来试验一下,文本框filename中保留默认值"default  

filename",提交看看输出结果:  

-----------------------------7d429871607fe 
Content-Disposition: form-data; name="file1";  

filename="G:\homepage.txt" 
Content-Type: text/plain 
宝玉: http://www.webuc.net  
-----------------------------7d429871607fe 
Content-Disposition: form-data; name="filename" 
default filename 
-----------------------------7d429871607fe--  
可以看出来对于表单中的项目,是用过"-----------------------------7d42 

9871607fe"这样的边界来分隔成一块一块的,每一块的开始都有一些描述信息 

,例如:Content-Disposition: form-data; name="filename",在描述信息 

中,通过name="filename"可以知道表单项的name。如果有filename="G:\home 

page.txt"这样的内容,说明是一个上传的文件,如果是一个上传的文件,那 

么描述信息会多一行Content-Type: text/plain来描述文件的Content-Type。 

描述信息和主体信息之间是通过换行来分隔的。  

嗯,基本上清晰了,根据这个规律我们就知道该怎么来分离数据,再对分离的 

数据进行处理了,不过差点忽略一个问题,就是边界值(上例中的"---------- 

-------------------7d429871607fe")是怎么知道的?每次上传这个边界值是 

不一样的,还好还好asp中可以通过Request.ServerVariables(  

"HTTP_CONTENT_TYPE")来获之,例如上例中HTTP_CONTENT_TYPE内容为:"mult 

ipart/form-data; boundary=---------------------------7d429871607fe" 

,有了这个,我们不仅可以判断客户端的form中有无使用enctype="multipart 

/form-data"(如果没有使用,那么下面就没必要执行啦),还可以获取边界值b 

oundary=---------------------------7d429871607fe。(注意:这里获取的 

边界值比上面的边界值开头要少"--",最好补充上。)  

至于如何分析数据的过程我就不多赘述了,无非就是借助InStr,Mid等这样的 

函数来分离出来我们想要的数据。 

二、分块上传,记录进度 
要实时反映进度条,实质就是要实时知道当前服务器获取了多少数据?再回想 

一下我们实现上传的过程,我们是通过Request.BinaryRead(Request.TotalBy 

tes)来实现的,在Request的过程中我们无法得知当前服务器获取了多少数据 

。所以只能通过变通的方法了,如果我们可以将获取的数据分成一块一块的, 

然后根据已经上传的块数我们就可以算出来当前上传了多大了!也就是说,如 

果我1K为1块,那么上传1MB的输入流就分成1024块来获取,例如我当前已经获 

取了100块,那么就表明当前上传了100K。当我提出分块的时候很多人觉得不 

可思议,因为他们都忽略BinaryRead方法不仅是可以读取指定大小,而且可以 

连续读取的。 

写个例子来验证一下分块读取的完整性,在刚才的例子基础上(注意该示例不 

要上传大文件,否则可能会造成浏览器死掉):  

<% 
Dim biData, PostData, TotalBytes, ChunkBytes 
ChunkBytes = 1 * 1024 ' 分块大小为1K 
TotalBytes = Request.TotalBytes ' 总大小 
PostData = "" ' 转化为文本类型后的数据 
ReadedBytes = 0 ' 初始化为0 
' 分块读取 
Do While ReadedBytes < TotalBytes 
biData = Request.BinaryRead(ChunkBytes) ' 当前块 
PostData = PostData & BinaryToString(biData,ChunkBytes) ' 将当前块转 

化为文本并拼接 
ReadedBytes = ReadedBytes + ChunkBytes ' 记录已读大小 
If ReadedBytes > TotalBytes Then ReadedBytes = TotalBytes 
Loop 
Response.Write "<pre>" & PostData & "</pre>" ' 使用pre,原样输出格式 
' 将二进制流转化成文本 
Function BinaryToString(biData,Size)  
Const adLongVarChar = 201 
Set RS = createObject("ADODB.Recordset") 
RS.Fields.Append "mBinary", adLongVarChar, Size 
RS.Open 
RS.AddNew 
RS("mBinary").AppendChunk(biData) 
RS.update 
BinaryToString = RS("mBinary").Value 
RS.Close 
End Function  
%>  


试验一下上传刚才的文本文件,输出结果证明这样分块读取的内容是完整的, 

并且在While循环中,我们可以在每次循环时将当前状态记录到Application中 

,然后我们就可以通过访问该Application动态获取上传进度条。  

另:上例中是通过字符串拼接的,如果是要拼接二进制数据,可以通过ADODB. 

Stream对象的Write方法,示例代码如下:  

Set bSourceData = createobject("ADODB.Stream") 
bSourceData.Open 
bSourceData.Type = 1 'Binary 
Do While ReadedBytes < TotalBytes 
biData = Request.BinaryRead(ChunkBytes) 
bSourceData.Write biData '  

直接使用write方法将当前文件流写入bSourceData中 
ReadedBytes = ReadedBytes + ChunkBytes 
If ReadedBytes > TotalBytes Then ReadedBytes = TotalBytes 
Application("ReadedBytes") = ReadedBytes 
Loop  

  

三、保存上传的文件 
通过Request.BinaryRead获取提交数据,分离出上传文件后,根据数据类型的 

不同,保存方式也不同: 

对于二进制数据,可以直接通过ADODB.Stream对象的SaveToFile方法,将二进 

制流保存成为文件。  
对于文本数据,可以通过TextStream对象的Write方法,将文本数据保存到文 

件中。  
对于文本数据和二进制数据,是可以方便的相互转换的,对于上传小文件来说 

,两者基本上没什么差别。但是两种方式保存时还是有一些差别的,对于ADOD 

B.Stream对象,必须将所有数据全部装载完才可以保存成文件,所以使用这种 

方式如果上传大文件将很占用内存,而对于TextStream对象,可以在文件创建 

好后,一次Write一部分,分多次Write,这样的好处是不会占用服务器内存空 

间,结合上面分析的分块获取数据原理,我们可以每获取一块上传数据就将之 

Write到文件中。我曾做过试验,同样本机上传一个200多MB的文件,使用第一 

种方式内存一直在涨,到最后直接提示计算机虚拟内存不足,最可恨是即使进 

度条表示文件已经上传完,但是最终文件还是没有保存上。而使用后一种方法 

,上传过程中内存基本上无什么变化。 

四、未解决的难题 
我在博客园上看到Bestcomy描述他的Asp.Net上传组件是可以和Sever.SetTime 

Out无关的,而在Asp中我是没能做到,对于上传大文件,就只有将Server.Set 

TimeOut设置为一个很大的值才可以。不知道有没有比较好的解决方法。 

如果我们在保存文件时,使用TextStream对象的Write方法,那么如果用户上 

传时中断了文件传输,已经上传的那部分文件还是在的,如果可以断点续传就 

好了。关键问题是Request.BinaryRead方法虽然可以分块读取,但是却不能跳 

过某一段读取! 

五、结束语 
原理基本上是说清楚了,但是实际代码要比这复杂的多,要考虑很多问题,最 

麻烦在分析数据那部分,对于每一块获取的数据,要分析是不是属于描述信息 

,是表单项目还是上传的文件,文件是否已经上传结束……  

相信根据上面的描述,您也可以开发出您自己功能强大的无组件上传组件。我 

想更多的人关心的只是代码,而不会自己动手去写的,也许没有时间,也许水 

平还不够,更多的只是已经成为了一种习惯……我在优快云上见过太多技术八股 

文——一段说明,然后全是代码。授人以鱼不若授人以渔,给你一个代码,也 

许你并不会去思考为什么,直接拿去用,当下次碰到类似的问题的时候,还是 

不知道为什么,希望此文能让更多人学到点什么,最重要是"悟"到点什么!

















来个更详细的. 

利用ASP技术实现文件直接上传功能  


引言  

采用WEB技术实现B/S(浏览器/服务器)结构的管理系统是办公自动化的发展趋势。基于WEB技术的管理系统,由于开发周期短;与用户平台无关;易于实现交互式应用;能对信息进行快速、高效的收集、处理和发布,近几年来得到了迅速发展。而ASP技术由于其开发效率高、交互性好,安全性强等特点,逐渐成为开发管理系统的首选工具。  

许多基于WEB的应用都涉及文件上传操作。常见的文件上传技术有:基于HTTP协议的;基于VB(或DELPHI等编程语言)开发的文件上传组件的;基于数据库技术的等等。这些方法一般都需要编程者能同时掌握WEB技术、数据库技术或CGI技术或组件技术,对编程者的要求较高。而本文将介绍的利用ASP技术直接实现文件上传功能则只需编程者掌握单一的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方式将数据存入相应的字段就可以了。该方法虽然简单可行,但是因为每次上传的文件大小都是不一样的,因此,会对数据库的空间造成很大的浪费,降低了数据的访问速度;并且使得文件只能在数据库环境下进行访问,造成了很大的不便。  

实例分析  

但是,利用ASP技术直接实现文件上传功能则只需编程者掌握单一的ASP技术即可,  

大大降低了编程难度。下面我们将通过一个实例来介绍如何使用该方法。  

1、文件上传表单  

首先需要编写一个能提供文件上传功能的表单,程序如下所示:  

<Form action="upload.asp" method=post enctype="multipart/form-data">  
上传文件:<Input type=file name=file1><br>  
<input type=submit name=upload value="上传">  
</form>  

其中,enctype参数用来设置表单的MIME编码方式,在进行文件(或同时包含文本框)上传时,必须将其属性设置为"multipart/form-data";upload.asp是服务器端对接收到的二进制文件流进行处理的ASP程序,在本文的后面将陆续介绍其内容。  

2、上传文件格式分析  

在处理文件之前,我们要先了解上传的文件的具体格式,通过编写下面一段简单的ASP程序就可以查看其二进制代码:  

<%  
filesize=Request.TotalBytes '获得上传文件的大小  
filedata=Request.BinaryRead(filesize) '获得上传文件的二进制数据  
Response.BinaryWrite filedata '在浏览器上显示二进制数据  
%>  

分析浏览器上显示的上传文件的二进制代码,发现代码包括四个部分(若同时上传多个文件或文本框,则代码按上传的先后次序排列,格式相同),每一部分的内容是用回车换行符号来进行分隔的:  

1)第一部分(起始标志)  
-----------------------------7d329631b04d4  
2)第二部分(文件说明)  

Content-Disposition: form-data; name="file1"; filename="C:\Documents and Settings\Administrator\My Documents\Invitation.doc" Content-Type: application/msword  在此,我们可以获得上传文件的文件名称及绝对路径,也可以获得文件类型。这些信息是正确保存文件所不可缺少的。  

3)第三部分(文件内容)  

即文件的二进制内容,略。  

4)第四部分(结束标志)  

-----------------------------7d329631b04d4  

结合第一部分和第四部分的内容来看,"-----------------------------7d329631b04d4"(每次上传,数值都不一样)起到了分割符的作用,它标志着一段数据(当有多个上传内容时)的开始和结束。从保存文件所需要的信息来讲,我们首先需要从第二部分数据的"filename"中获得文件名称,然后需要正确定位文件的起始位置,最后利用ASP技术将二进制文件用本来的文件名保存即可。若同时上传多个内容(如多个文本框和文件),也是按同样的方法处理,每部分的内容都包含在分割符之中,只是文本框和文件的表现形式稍有不同,这可以通过具体分析其二进制代码来了解。  

3、利用ASP技术实现文件存储  

上传文件代码的处理  

1) 获得分割符代码  

从上面的分析我们已经知道,分割符起到了分割多个数据段(包括文本框和各种类型的文件)的重要作用。前面已经分析过,分割符出现在第一个回车换行符号前。因此,通过下面这段程序就可获得分割符代码:  

<%  
newline=chrB(13) & chrB(10) 'newline表示二进制的回车符  
filesize=Request.TotalBytes 'filesize是上传文件的大小  
filedata=Request.BinaryRead(filesize) 'filedata是上传文件的二进制数据  
divider=leftB(filedata,clng(instrb(filedata,newline))-1) 'divider是分割符  
%>  

注:因为这里处理的都是二进制字节码,因此,所有的函数都是使用它的二进制版本,加了"b "。  

2) 获得文件(或文本框)内容  

(1) 预备函数(将二进制串转化成字符串)  

上传文件的内容不需要经过二进制向字符串的转换过程,直接保存就可。但是,若需提取文本框内容或文件的名称,就必须进行转换。因此,需要编写一个通用的,并且适用于汉字的转换函数。以下是该函数代码:  

Function BtoS (bstr)  
If not Is Null (bstr) Then  
for i = 0 to lenb(bstr) - 1  
bchr = midb(bstr,i+1,1)  
If ascb(bchr)>127 Then '汉字是双字节,得两个字符一起处理  
temp = temp&chr(ascw(midb(bstr, i+2, 1)&bchr))  
i = i+1  
Else  
temp = temp&chr(ascb(bchr))  
End If  
next  
End If  
BtoS = temp  
End Function  

(2) 获得文件(或文本框)内容  

在实际的WEB应用中,上传操作可能涉及多项内容,如多个文本框、多个文件等等。文件和文本框很好区分,文件的数据中包含了"filename="字串。因此,我们写了如下的通用函数,既可用于提取文件内容,又可提取文本框内容(需进行二进制转换):  

Function getdata(byval data, byval divider, final) 'data表示二进制串;divider表示分割符;final表示数据的结束位置  
filename=chrb(102)&chrb(105)&chrb(108)&chrb(101)&chrb(110)&chrb(97)&chrb(109)&chrb(101)&chrb(61)&chrb(34) '字符串"filename"的二进制表示  
bncrlf=chrb(13)&chrb(10) '二进制的回车符  
startpos = instrb(data,divider)+lenb(divider)+lenb(bncrlf) ' 开始位置  
endpos = instrb(startpos,data, divider)-lenb(bncrlf) '结束位置  
part1 = midb(data, startpos, endpos-startpos) '两个分割符之间的内容  
firstline = midb(part1, 1, instrb(part1, bncrlf)-1) ' 内容之前的说明段  
If (instrb(firstline,filename)=0) Then '若为文本框,获得文本框字符串内容  
stemp=midb(part1,instrb(part1,bncrlf&bncrlf)+lenb(bncrlf&bncrlf),lenb(part1)-instrb(part1,bncrlf&bncrlf)+lenb(bncrlf&bncrlf))  
getdata=BtoS(stemp)  
Else '若为文件,获得文件二进制内容  Getdata=midb (part1, instrb (part1, bncrlf&bncrlf)+lenb (bncrlf&bncrlf), lenb (part1)  
-instrb(part1,bncrlf&bncrlf)+lenb(bncrlf&bncrlf))  
End If  
Final=endpos  
End function  

在程序中直接调用该函数就可获得所需文件(或文本框)内容,如下所示:  

<%  
Content=getdata (data, divider, position)  
%>  

3) 获得文件名称  
前面已经分析过了,上传文件数据流的"filename="字段里包含了文件的名称和绝对路 径。一般来说,我们只需提取出路径中的文件名即可,以下是程序代码:  

<%  
namepos=instrrev(B2S(firstline),chr(92)) 'firstline即上面获得的说明部分数据,chr(92)  
表示"/"  
filename=midb(firstline,namepos+1,lenb(firstline)-namepos-1) '获得文件名称  
%>  

利用ASP直接实现文件上传功能  

传统的ASP程序员只能利用FILESYSTEMOBJECT对象对文本文件(.txt)进行移动、复制、删除等操作,若需处理二进制对象,则不得不采用本文前面介绍的那些方法来实现。但是,现在ASP中的ADO.STREAM对象可以同时操作文本对象和二进制对象(可以在http://www.microsoft.com/data下载),利用它就可以在ASP中直接实现文件上传功能。下面,我们就介绍其实现过程。  

1)打开STREAM对象  

对于SREAM对象而言,若要进行文件的保存,则必须是将该对象的全部内容进行保存。因此,我们必须要创建两个(或多个)STREAM对象,其中一个为源数据流,即接收初始的二进制数据;另一个为目的数据流,即接收来自经源数据流处理后的数据,并最终保存为所需的文件。  

<%  
set str=server.CreateObject("ADODB.Stream") 'str为源数据流  
str.Mode=3 '设置打开模式,3为可读可写  
str.Type=1 '设置数据类型,1为二进制数据  
str.Open  
set desc=server.CreateObject("ADODB.Stream") 'desc为目标数据流  
desc.Mode=3  
Desc.Type=1  
desc.Open  
%>  

2)STEAM对象间内容的复制  

在该部分,必须在源数据流中定位文件开始的位置,并且求出文件内容的长度,才能将文件正确的复制到目的数据流中,并且保存文件,程序代码如下:  

<%  
formdata=Request.BinaryRead(Request.TotalBytes) 'formdata为上传的所有内容  
str.Write formdata ' 赋值源数据流  
str.position=count-lenb(result)-2 'position指出文件的开始位置  
str.copyto desc, lenb(filecotent) 'lenb(filecontent)表示文件的长度  
desc.SaveToFile fullpath,2 '以fullpath指定的路径及名称保存文件  
%>  

3)关闭STEAM对象  

编程完成后,应关闭并释放STEAM对象,如下所示:  

<%  
Desc. Close  
Set desc=nothing  
Str. Close  
Set STR=nothing  
%>  

总结  

本文给出了利用ASP直接实现文件上传的方法,在本单位自行开发的信息管理系统中得到了很好的应用。实践证明:与传统的几种文件上传方法相比,该方法更简便、更高效。

ASP上传图片代码例子 index.asp <table class="tableBorder" width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#D6DBF7"> <form name="newsinfo" method="post" action="saveshjiainfo.asp?action=logo 阅读详情

相关推荐

jquery uploadify for asp 批量文件上传程序 整合风声asp无组件上传

jquery 上传插件 uploadify (官网:http://www.uploadify.com/) uploadify功能强大,支持多文件、批量上传、状态进度条等,提供前端文件限制相关设置。由于是flash环境全面支持asp、asp.net、php等平台;官方目前只提供php程序接入方式,asp.net程序接入在网络上也有很多,而asp程序的只找到一个老外写的,有很多功能调试起来很

engling的专栏 3031

asp如何实现文件上传功能

ActiveServerPages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。使用ASP可以组合HTML页、VBScript脚本命令和JavaScript脚本命令等,以创建交互的Web页和基于Web的功能强大的应用程序。ASP是一种服务器端脚本编写环境,它以VBScript或JScript作为脚本语言,可以用来创建包含HTML标记、文本和脚本命令的动态网页,称为ASP动态网页,其文件扩展名是.asp。

aoxiangchina的博客 1805

很好用的图片上传管理源码ASP

找了好久才找到的图片上传代码,ASP的,不过功能很强大,算是一个图片管理的CMS了,批量上传,图片预览什么的全都有了!

asp上传文件代码详解 2

来个更详细的. 利用ASP技术实现文件直接上传功能  引言  采用WEB技术实现B/S(浏览器/服务器)结构的管理系统是办公自动化的发展趋势。基于WEB技术的管理系统,由于开发周期短;与用户平台无关;易于实现交互式应用;能对信息进行快速、高效的收集、处理和发布,近几年来得到了迅速发展。而ASP技术由于其开发效率高、交互性好,安全性强等特点,逐渐成为开发管理系统的首选工具。  许多基于WEB的应用都

blue的专栏 962

ASP图片预览区代源代码

自己用ASP做的一个小型的图片预览网页,希望对你们有些帮助,主要是用来浏览图片的一个小网页

asp实现多图片上传并预览功能程序源码.zip

【程序老媛出品,必属精品,亲测校正,质量保证】 资源名:asp实现多图片上传并预览功能程序源码.zip 资源类型:程序源代码 源码说明: 基于asp的多图片上传功能 并实现预览功能的程序源码 包含完整代码和注释很适合学习借鉴 适合人群:新手及有一定经验的开发人员

asp上传文件代码详解1

一、无组件上传的原理 我还是一点一点用一个实例来说明的吧,客户端HTML如下。要浏览上传附件,  我们通过元素,但是一定要注意必须设置form的enctype 属性为"multipart/form-data":  enctype="multipart/form-data">   在后台asp程序中,以前获取表单提交的ASCII 数据,非常的容易。但是如果 需要获取上传的文件,就必须

blue的专栏 1585

【计算机视觉】基于复杂环境下的车牌识别

本文针对复杂环境下(光照变化、车牌变形、噪声干扰)的车牌识别问题,提出了一套完整的优化方案。通过四个核心环节进行改进:1)采用CLAHE、同态滤波等技术优化光照处理;2)使用边缘检测和透视变换应对车牌变形;3)结合中值滤波和暗通道去噪算法消除干扰;4)改进字符分割与识别方法。文章提供了详细的Python实现代码,展示了从预处理到字符识别的完整流程,并通过多策略融合显著提升了复杂场景下的识别准确率。实验结果表明,该方法能有效应对各类复杂环境挑战,为实际应用提供了可靠解决方案。

2401_84149564的博客 1628

asp.net大文件上传详解及实例代码

ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现。 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压。 ASP.NET页面设计:TextBox和Button按钮。 TextBox中需要自己受到输入文件夹的路径(包含文件夹),通过Button实现选择文件夹的问题还没有解决,暂时只能手动输入。 两种方法:生...

Mr_Zang666的博客 229

PMOS缓启动电路设计实战:用LTspice优化上电时序,把60A冲击降到15A

本文通过一个实战案例,深入解析了PMOS缓启动电路如何有效抑制上电冲击电流。文章指出,低ESR电容是导致冲击电流飙升的元凶,并详细阐述了利用LTspice仿真工具,通过优化栅极电阻和栅源电容等参数,将高达60A的冲击电流成功降至15A的设计与优化过程,为电源开关电路设计提供了可复用的方法论。

onion的博客 900

光学薄膜设计入门:Essential Macleod中文版从安装到实战全攻略

本文为光学薄膜设计初学者提供Essential Macleod软件从安装部署到实战应用的全流程中文指南。详细解析了软件核心界面、材料管理及工作流程,并通过一个完整的宽带增透膜设计实例,手把手演示膜系构建、优化与分析方法,帮助用户快速掌握这一业界标杆工具,跨越理论与实操的门槛。

weixin_29309475的博客 985

asp 上传文件到服务器,ASP最简单上传文件方法

ASP最简单上传文件方法(2010-09-16 18:03:10)标签:化境组件服务器数据库上传it1.如果服务器装了文件上传组件,可查阅一下该组件的相关属性和方法,不过现在很多服务器空间都不支持这类组件.暂不在这里讨论.2.若服务器不支持文件上传组件,可以考虑自己写个无组件上传程序,网上有一个"化境无组件上传"比较经典,也比较好用.地址:http://www.5xsoft.com/Down.as...

weixin_32819265的博客 2523

10分钟上手YOLOv11:最强姿态估计模型来了,代码开源,效果炸裂!

【10分钟玩转YOLOv11实时姿态估计】🚀 YOLOv11作为YOLO家族最新成员,在速度、精度和易用性上全面升级,尤其适用于姿态估计等复杂视觉任务。本文带您快速掌握: 1️⃣ 核心概念:姿态估计即识别人体17个关键点(如关节部位)并连接成数字骨架,是智能健身、体感游戏等应用的基础。 2️⃣ 技术优势: 超轻量级(最小仅2.9M参数) 极速推理(GPU仅1.7ms) 高精度(COCO mAP@50-95达50%) 3️⃣ 三步实操: ① 安装:pip install ultralytics ② 准备人物

weixin_41246802的博客 1788

图片上传的asp代码

文件夹名称:upload:[upload0.asp,upp.asp,uploadx.asp,imag:存放上传的图片/文件的文件夹]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@upload0.asp  photo:        多复制几次呵呵-->                      @@@@@@@@@@

zhangsai的专栏 2382

YOLOv11改进策略【卷积层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov11精度提升

RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。

Limiiiing的博客 1823

【AutoCAD中实现双击文本编辑功能】

例如:以下是官方博客例子浅析先加入相关的头文件和库文件。在AutoCAD中有一个很重要的功能,就是双击图形尺寸或文本后会出现一个文本编辑框,用户可在该编辑框中修改文字。本文介绍了如何使用AcEdInplaceTextEditor来实现该功能。实现cad的消息监听。创建一个消息监听的类并在cad中注册来实现消息监听。主要是监听键盘输入。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了的函数和方法。

我的博客 1149

asp.net上传文件的源代码

  :::i7land无组件多文件上传程序 :::          多文件上传为保证服务器和网站的安全,禁止上传任何.COM或.DLL文件,但允许你上传任何gif、jpg、swf、asp、aspx、htm、html、js、css等网络文件              ::       上传  ::             重置 ::                   程序代码:这是(

海雅 海的雅致 3054

归结法证明真题分析

本文主要探讨了逻辑证明题的三种核心形式及其解题策略。第一类为A1∧A2∧A3→B的证明,常采用线性、单元、支持策略法等归结法,典型案例包括使用归纳法证明特定逻辑公式,并列举了历年真题。第二类为集合交集证明,典型案例为证明任意集合S和T的交集S∩T是S的子集,需将交集和包含关系用逻辑式表达。第三类为常规归结法证明,真题示例为使用归结法证明特定逻辑蕴含关系。掌握前两类证明方法后,第三类问题自然迎刃而解。

super_mochi1 278

用Delphi 6开发ASP上传组件详解

用Delphi 6开发ASP上传组件详解左轻侯2002.6.20  文件上传是WEB开发中经常要用到的功能,但ASP本身和内置的组件都不支持文件上传功能。网上流传的一些第三方组件虽然能够解决这个问题,但大多是要收费的,更别说Open Source了。本文将详细剖析WEB文件上传的原理,以及一步步指导读者如何用Delphi6开发一个ASP上传组件。源码和demo我已经发布在个人主页上http:/

qinghou的专栏 3724

YOLOv8【第七章:损失函数篇·第1节】一文搞定,IoU系列损失函数!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1199

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

文件上传之asp代码,工作原理,以及post包数据格式

代码来源于网络

coder 3332

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

无组件ASP文件上传源代码

无组件ASP文件上传源代码save_upload.asp 上传页 ------------------------------------ body {font-size:9pt;} input {font-size:9pt;} 文件上传 文件 ------------------------------------ save_upfile.asp 保存文件到服务器 ---

a3676212的专栏 1718

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【ASP】文件上传

由于VBScript这门古老的编程语言并没有像ASP.NET,Servlet、Struts2,PHP等封装好文件上传的方法,绝对不可能一个request.form["file"]就能够拿到文件,因此处理文件上传是很艰难的,需要自己截获HTTP传递过来的二进制报文,进行报文中的二进制字符切割,才能拿到文件以及我们想要的信息,不过这也更接近底层,更能让我们清楚HTTP文件上传的原理。 网上一些文章的

编程记录,亲测有效 1万+

asp.net 多文件上传

 Asp.Net 2.0 实现多文件上传的方法【摘要】多文件上传的方法其实很简单,在页面上添加多个html文件上传控件,就可在代码中用如下语句System.Web.HttpContext.Current.Request.Files来取得页面中的所有文件上传控年对象,然后调用 Files对象的SaveAs就可将多个文件上传上去,跟单文件上传没有多大区别。【全文】如下代码示例,可将多个

zlb789的专栏 3235

[asp常用代码]文件上传代码

调用实例: UploadDemo.html <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"> <html> <head> <title>UploadDemo</title> <metaname="keywords"content="淄博本地...

weixin_30500289的博客 318

asp无组件上传图片文件

最近要写一个asp 无组件上传图片文件的代码,感觉asp中真是麻烦,不像asp.net与jsp中有那么强大的文件读写和图片处理的类做支持!从网上找了一个代码,但目前只能上传和按原样输出,内部处理有待研究!静态文件的源代码如下:html>head>title>文件上传title>head>body>form enctype="multipart/form-data" action="up

trueman2008的专栏 2762
上一篇: input中id和name属性的区别
下一篇: 10款 好用的php 编辑器
msbbc
博客等级 码龄18年 39粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值