关于ASP 文件上传的问题

来者 2010-08-11 05:12:52
假如有两个ASP文件:a文件、b文件
a文件:a文件中表单里面存在文件上传选择这控件(<input type=file>),同时表单也存在Text文本框之类元素,还有个提交按钮,表单的属性设置(method=post,enctype="multipart/form-data");
b文件:负责接收a文件提交过来数据,并处理数据和图片上传;

注意:上传图片使用的是无组件上传类UpLoadClass.asp

当a文件提交表单到b文件时,b文件利用request或request.Form无法得到a文件表单中文本框中值,因为a文件中表单enctype属性设置了"multipart/form-data",提交过来的表单进行了base64编码,那么,如何才得到a文件表单中文本框中值,又如何得到a文件<input type=file>选中文件数据流,请各位大侠给出解决方案,最好能给出源代码,谢谢?
...全文
66 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CainLai 2010-08-12
看看你的UpLoadClass.asp这个文件的代码里面是怎么处理上传的文件和一般文本控件传输的值得,一般都有注释和使用说明吧?
回复
number123456 2010-08-12
http://www.sjz119.com/shangchuan/help/help1.htm
参考网址

方法 Form
返回表单中各类域提交(上传)的文本(文件)信息
Item 是域名称
对于非 file 域返回:对应的文本值
对于 file 域返回:文件上传后的文件名
对于 file 域还有以 Item 加特征后缀为参数对应不同的返回信息:
Form(Item&"_Type") 文件类型,例"image/gif"
Form(Item&"_Name") 原文件名
Form(Item&"_Path") 原文件本地上传路径
Form(Item&"_Size") 文件字节数
Form(Item&"_Width") 宽度(对image/flash有效)
Form(Item&"_Height")高度(对image/flash有效)
Form(Item&"_Ext") 文件扩展名
Form(Item&"_Err") 该文件保存状态
Err -1:没有文件上传。
Err 0:文件保存成功。
Err 1:文件因大于 'MaxSize' 而未被保存。
Err 2:文件因不匹配 'FileType' 而未被保存。
Err 3:文件因大于 'MaxSize' 并且不匹配 'FileType' 而未被保存

参考内容,请注意红色部分
回复
zhanghuiming1977 2010-08-12
用化境

up_bookpicpro.asp是核心
第45行。。有response.write "<script>window.opener.document."&upload.form("FormName")&"."&upload.form("EditName")&".value='"&FileName&"'</script>"
关键的是这个FileName
你可以新建立的session
<%
Session("PPP")=FileName
%>
然后到另页里去调用session到TEXT文本区域。。这样就能过去了。
回复
可以参考目前大多数主流邮箱和视频分享网站的做法:单独处理文件上传,不要和其它数据混同放在一起。

比如邮箱,选择上传附件时,就是单独上传文件的一套流程。上传完后将上传到服务器的临时文件名返回作为数据与用户填写的其它数据再一并上传处理。

如果是隐藏的通过AJAX拆分处理也是可行的,但这样是否值得? 你要现成的代码当然容易,但别人若没有现成的,也不可能专门为你免费写这么一个功能模块。
回复
永恒的微笑 2010-08-11
用户化境传类吧
回复
yangchun1213 2010-08-11
你到底要说什么?
回复
猜我是几娃 2010-08-11
a中的值不是通过request获取的。而且通过类方法取到的
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告