关于ASP无组件上传的问题~
是一个ASP用无组件上传图片的例子,要求将原来图片文件和文字内容分开提交改为在同一页面提交。将form的enctype="multipart/form-data"后,已经...
是一个ASP用无组件上传图片的例子,要求将原来图片文件和文字内容分开提交改为在同一页面提交。将form的enctype="multipart/form-data"后,已经成功将各文本域的内容提取出来,可是这样一来因为加进了很多文本域的内容使图片文件的二进制数据范围变更取不到图片数据了。不知道怎么修改才能得到图片数据?
原代码如下:
<% Option Explicit %>
<!--#INCLUDE FILE="../odbc_connection2.asp"-->
<!--#INCLUDE FILE="../function2.asp"-->
<%
'下面首先获取上传数据,此时表单信息和文件信息都混合在一起传了过来
Dim formData,formsize
formsize=Request.TotalBytes '获取传上来的二进制数据的大小
formdata=Request.BinaryRead(formsize) '获取传上来的二进制数据
'-------------------------------------------------------------------------
'下面将这个二进制数据进行拆分,首先拆分出表单中文件的有关信息
'这些变量依次用来存放客户端文件路径,文件的Content-type,二进制文件内容,文件大小
Dim filepath,contentType,fileimage,filesize
'bncrlf为回车换行字符串,divider为表单中不同项目之间的分隔符号,dataStart为开始位置,
'dataEnd为结束位置,dataLen为要取信息的长度,temp为临时使用,为了记住当前位置。
Dim bncrlf,divider,dataStart,dataEnd,dataLen,temp
bncrlf=ChrB(13) & ChrB(10) '回车换行标记
divider=LeftB(formData,CInt(InstrB(formdata,bncrlf))-1) '返回分隔符
'下面首先获取文件的客户端路径
datastart=InstrB(formdata,bncrlf)+59 '定位到第1个字符
dataend=InstrB(datastart,formdata,bncrlf)-2 '定位到最后1个字符
dataLen=dataend-datastart+1 '返回要取信息的长度
filepath=MidB(formdata,datastart,datalen) '返回文件路径
filepath=BinaryToString(filepath) '调用函数,转换为文本
'下面获取文件的MIME类型
temp=dataend '记住当前位置
datastart=temp+18 '定位到第1个字符
dataend=InstrB(datastart,formdata,bncrlf & bncrlf)-1 '定位到最后1个字符
dataLen=dataend-datastart+1 '返回要取信息的长度
contentType=MidB(formdata,datastart,datalen) '返回MIME类型
contentType=BinaryToString(contentType) '调用函数,转换为文本
'下面获取文件内容,注意不能直接在页面输出
temp=dataend
datastart=dataend+5 '定位到第1个字符
dataend=InstrB(datastart,formdata,divider)-3 '定位到最后1个字符
dataLen=dataend-datastart+1 '返回要取信息的长度
fileimage=MidB(formdata,datastart,datalen) '返回文件内容
怎么改datastart,dataend的表达式? 展开
原代码如下:
<% Option Explicit %>
<!--#INCLUDE FILE="../odbc_connection2.asp"-->
<!--#INCLUDE FILE="../function2.asp"-->
<%
'下面首先获取上传数据,此时表单信息和文件信息都混合在一起传了过来
Dim formData,formsize
formsize=Request.TotalBytes '获取传上来的二进制数据的大小
formdata=Request.BinaryRead(formsize) '获取传上来的二进制数据
'-------------------------------------------------------------------------
'下面将这个二进制数据进行拆分,首先拆分出表单中文件的有关信息
'这些变量依次用来存放客户端文件路径,文件的Content-type,二进制文件内容,文件大小
Dim filepath,contentType,fileimage,filesize
'bncrlf为回车换行字符串,divider为表单中不同项目之间的分隔符号,dataStart为开始位置,
'dataEnd为结束位置,dataLen为要取信息的长度,temp为临时使用,为了记住当前位置。
Dim bncrlf,divider,dataStart,dataEnd,dataLen,temp
bncrlf=ChrB(13) & ChrB(10) '回车换行标记
divider=LeftB(formData,CInt(InstrB(formdata,bncrlf))-1) '返回分隔符
'下面首先获取文件的客户端路径
datastart=InstrB(formdata,bncrlf)+59 '定位到第1个字符
dataend=InstrB(datastart,formdata,bncrlf)-2 '定位到最后1个字符
dataLen=dataend-datastart+1 '返回要取信息的长度
filepath=MidB(formdata,datastart,datalen) '返回文件路径
filepath=BinaryToString(filepath) '调用函数,转换为文本
'下面获取文件的MIME类型
temp=dataend '记住当前位置
datastart=temp+18 '定位到第1个字符
dataend=InstrB(datastart,formdata,bncrlf & bncrlf)-1 '定位到最后1个字符
dataLen=dataend-datastart+1 '返回要取信息的长度
contentType=MidB(formdata,datastart,datalen) '返回MIME类型
contentType=BinaryToString(contentType) '调用函数,转换为文本
'下面获取文件内容,注意不能直接在页面输出
temp=dataend
datastart=dataend+5 '定位到第1个字符
dataend=InstrB(datastart,formdata,divider)-3 '定位到最后1个字符
dataLen=dataend-datastart+1 '返回要取信息的长度
fileimage=MidB(formdata,datastart,datalen) '返回文件内容
怎么改datastart,dataend的表达式? 展开
1个回答
展开全部
上传的文件是单独提交的,和那个提交表单没有关系.
用浮动框架iframe调用一个仅有上传功能的网页,然后点击上传.
上传之后,再提交表单.
<form name="form1" method="post" action="exe_update.asp">
....
<IFRAME scrolling="no" id="abc" align="left" width="100%" height="23" frameborder="0" src="单独上传功能的文件" marginheight="0" vspace="0">
</IFRAME>
....
</form>http://www.baidu.com/s?tn=sitehao123&ie=gb2312&bs=%CE%D2%B5%C4%B5%E7%C4%D4%BF%AA%BB%FA%D2%AA%BA%DC%B3%A4%CA%B1%BC%E4%3F&sr=&z=&cl=3&f=8&wd=ASP%CE%DE%D7%E9%BC%FE%C9%CF%B4%AB%B5%C4%CE%CA%CC%E2&ct=0
你可以看看这个资料
用浮动框架iframe调用一个仅有上传功能的网页,然后点击上传.
上传之后,再提交表单.
<form name="form1" method="post" action="exe_update.asp">
....
<IFRAME scrolling="no" id="abc" align="left" width="100%" height="23" frameborder="0" src="单独上传功能的文件" marginheight="0" vspace="0">
</IFRAME>
....
</form>http://www.baidu.com/s?tn=sitehao123&ie=gb2312&bs=%CE%D2%B5%C4%B5%E7%C4%D4%BF%AA%BB%FA%D2%AA%BA%DC%B3%A4%CA%B1%BC%E4%3F&sr=&z=&cl=3&f=8&wd=ASP%CE%DE%D7%E9%BC%FE%C9%CF%B4%AB%B5%C4%CE%CA%CC%E2&ct=0
你可以看看这个资料
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询