急!无组件上传,本地正确,为什么放到服务器上去后就有错。

小婷_wuni PMO  2004-11-17 08:20:26
上传文件到指定目录下,然后把文件名存储到数据库。
源程序如下:
<%
'------------------------------------------------------------------
.....省略dim
btn=request("btn")
if btn="1" then
image=request("image")
imagename=GetFileName(image)
if imagename<>"no" then
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.mode=3
objStream.Type = 1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile image
filepath=server.MapPath("files")
filepath=filepath&"\"&imagename

objStream.SaveToFile filepath,2
objStream.Close
end if

Set conn=Server.CreateObject("ADODB.Connection")
dbpath=Server.MapPath("db/db.mdb")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="&dbpath
strsql="insert into ....(省略)"

set rs=conn.execute(strsql)
......
end if
‘-----------------------------------------------------------------------

Function GetFileName(ByVal strFile)
If strFile <>"" Then
GetFileName = mid(strFile,InStrRev(strFile,"\")+1)
Else
GetFileName = "no"
End If
End function
%>
<html>
<body>
<form method="post" action="regist.asp" class="b" name="reg" >
<div align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="136"> Property Name: </td>
<td width="166">
<input name="loupanname" size="30" maxlength="100" >
</td>
</tr>
<tr>
<td width="136"> About Image: </td>
<td width="166">
<input type="file" name="image">
</td>
</tr>
<tr align="middle">
<td colspan =2>
<input type="submit" value="regist" name="regist" size="18" "javascript:reg.btn.value=1;">
 
<input type="reset" value="reset" name="B2" size="18">
</td>
</tr>
<input type="hidden" name="btn" value=""></form>
</table>
</body>
</html>

然后,我在本地运行都是好的,但是放到服务器上后,一旦有图片上传,就发生错误,页面上显示的是http 500 内部服务器错误。
不清楚是什么原因。
难道是服务器的环境没有iis4.0,ado2.5以上吗?

如果是服务器环境的原因,那我还有其他的解决方案吗?

请指教,急,谢谢
...全文
137 点赞 收藏 17
写回复
17 条回复
小婷_wuni 2004年11月19日
谢谢 eglic(圪圪),解了偶心头一大疑问,调试时老是说不能用Request的方法,提交以后又可以,有点不明白,现在知道了哈.
难道我用lyfupload时失败也是这个原因?有空去try一下.

谢谢各位大虾!
回复 点赞
kelly_1127 2004年11月18日
眼花了
回复 点赞
小婷_wuni 2004年11月18日
啊!!!!怎么会是这个样子的啊,呜呜呜!死了,明天就要正式运行.
help!!
回复 点赞
是是非非 2004年11月18日
有个问题,我为什么不能在同一个页面实现,非得用另一个asp页面才能实现,可能编程功力还不到家吧
不管了,总算解决一个大问题哦!
=================================
上传表单不同于其他的表单
要求在处理上传表单之前不能有使用Request.Form
否则就会创建组件失败

所以,建议使用两个文件来实现上传
回复 点赞
hayes56k 2004年11月18日
老农?是什么东西?
回复 点赞
zhou81 2004年11月18日
老农的比较好。我试过的。
回复 点赞
小婷_wuni 2004年11月18日
用了老农的,本地全部ok了,上传上去还不知道.

这个应该么有问题了吧.

有个问题,我为什么不能在同一个页面实现,非得用另一个asp页面才能实现,可能编程功力还不到家吧
不管了,总算解决一个大问题哦!
回复 点赞
是是非非 2004年11月17日
楼主的这个代码是从网上的 “五行代码实现无组件上传” 改来的吧?

唉,那个鸟作者误人不浅啊

你这个代码根本不能上传

在本地也只是实现了本地文件的复制而已

在网络上根本不能运行
回复 点赞
小婷_wuni 2004年11月17日
已经用管理员的身份注册这个组件了。
回复 点赞
小婷_wuni 2004年11月17日
asp页面
dim定义好后
Set obj = Server.CreateObject("LyfUpload.UploadFile")
image=obj.request("image")
...

但是运行后
错误类型:
LyfUpload (0x80020009)
下标越界

没用过这个组件,大虾继续教偶下。
回复 点赞
小婷_wuni 2004年11月17日
谢谢,google搜到该组件了,我试一下。
回复 点赞
csu27 2004年11月17日
在开始 --运行里面 运行 RegSvr32
回复 点赞
csu27 2004年11月17日
同时,注册lyfupload组件,比如把lyfupload组件lyfupload组件 传到 e盘下,则注册他
RegSvr32 e:\lyfupload.dll
回复 点赞
csu27 2004年11月17日
RegSvr32 C:\WINNT\SYSTEM32\scrrun.dll
回复 点赞
小婷_wuni 2004年11月17日
如果是不支持fso,该怎么办?

服务器的,客服说,他们是什么lyfupload组件阿?我怎么在网上查不到这个的资料阿。
这个组件是asp用的吗?还是asp.net用的阿?跟客服真是讲也讲不清,最后来句,他也不懂,要去问技术的,汗~~

各位大虾帮帮忙!
回复 点赞
csu27 2004年11月17日
服务器是否支持FSO????如果没有的话,请开fso。
第二,是否有写的权限?没有的话,请开写权限
回复 点赞
sfply 2004年11月17日
第一,服务器是否支持FSO,以及子路径父路径
第二,服务器别说不是NT的
回复 点赞
发动态
发帖子
ASP
创建于2007-09-28

1.9w+

社区成员

35.7w+

社区内容

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