Question to say "I can!"

"幸运快三"开奖结果:asp程序:本地测试正常,服务器上传文件失败

2012-08-20

这几天在运用一个asp程序,它引用了xheditor编辑器,引用了无惧上传类 V2.2 xheditor特别修改版的上传程序upload.asp,在本地测试上传图片和文件都能成功,问题出在上传到服务器后图片上传不成功。

这里的不成功有几种,我是第2种,我分别说明一下:

第1种:出现文件根本无法上传的情况,这是由于无惧上传类v2.2的一个BUG

使用了“无惧上传类 v2.2”,在运行中出现这样一个问题,上传文件时提示上传成功,但文件实际上并没有传上去。然而,如果使用“无惧上传类 v1.2”的话就没有这个问题。经过对比代码,找到了问题的所在,我认为这应该是“无惧上传类 v2.2”的一个BUG。
在UpFile_Class类的SaveToFileEx成员函数中有这样两行:

tmpPath=Split(Path,".")(0)
FileExt=GetFileExt(Path)

后面判断若没有问题可以上传,则执行这样一行将文件写到本机中:

oFileStream.SaveToFile tmpPath & "." & FileExt,2

Path是上传的文件在本机的全路径??梢钥闯?,作者的本意是tmpPath的值为文件本机全路径去掉扩展名和连接扩展名的“.”,这样做主要是基于安全上的考虑。然而,实际使用时路径中有一个“.”,如“D:/web/aaa.com/bbb/”,这样,tmpPath的值就是“D:/web/aaa”,这明显是错误的。出现了这样的问题依然提示上传成功的原因是SaveToFileEx函数的开头有一个“On Error Resume Next”。

这样,我们对SaveToFileEx函数进行一些修改,让其先截取路径和文件名,存放于onlyPath和onlyFileName中,再对onlyFileName进行扩展名截取。将tmpPath=Split(Path,".")(0)修改为以下代码:

for i=len(Path) to 1 step -1
if mid(Path, i, 1) = "/" or mid(Path, i, 1) = "/" then exit for
next
onlyPath = left(Path, i)
onlyFileName = right(Path, len(Path) - i)
tmpFileName = Split(onlyFileName,".")(0)

然后将写文件的代码改成这样:

oFileStream.SaveToFile OnlyPath & tmpFileName & "." & FileExt,2

进行了这样的修改,再运行就没有问题了。这个是文件保存路径不对造成的。

第2种:文件上传成功到指定的目录,但无法加载到ubb编辑框里,或者加载到ubb编辑里是个不一样的文件名。

若把upload.asp文件开头的on error resume next去掉,上传文件的过程会出如下错误:
/upload.asp,行300说是无权限 但是明明文件可以上传???300行代码是:

Function moveFile(oldfile,newfile)
dim fs
Set fs=Server.CreateObject("Scri"&"pting.File"&"Sys"&"temObject")
fs.movefile Server.MapPath(oldfile),Server.MapPath(newfile) (第300行)
Set fs=Nothing
End Function

本地测试文件上传成功,服务器也上传到了指定目录,就是无法这个moveFile函数,这是为什么呢?

有个原因:会不会是服务器上目录结构存在差异,如果跟踪一下Server.MapPath(newfile) ,看这个是否正确?

我测试过,找不出问题,只好不要这个函数,而是直接把上传后的文件名oldfile直接赋给newfile

把原来的代码:

'生成随机文件名并改名
Randomize timer
filename=DateFormat(now,"yyyymmddhhnnss")+cstr(cint(9999*Rnd))+"."+extension
target=attach_dir+filename
moveFile attach_dir+tmpfile,target
if immediate="1" then target="!"+target
target=jsonString(target)

改为:

'生成随机文件名并改名/左岸注:本地测试很成功,上传到服务器地无法执行moveFile,只好把这两个值对等了/
tmpfile=attach_dir+tmpfile
target=tmpfile
if immediate="1" then target="!"+target
target=jsonString(target)

这当然是坏办法,却也只能这么办了暂时,因为结果这样图片就上传成功了。

作者:admin | Categories:设计问题 | Tags: 、、、

一条评论

  1. Fox说道:

    这配色看久了,容易眼不舒服啊

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

  • 方言报站也是一种有意义的尝试 2019-05-22
  • 财经随笔:年近半百,“金融科技”仍是少年 2019-05-20
  • 山西寿阳:竹马戏演员的台前幕后 2019-05-19
  • 主城赏荷地图出炉 快带上相机出发 2019-05-19
  • 男人不安全了?日本读心美女机器人,你咋想的它全知道! 2019-05-03
  • 重庆市永川区:“1+8+X”模式探索基层人民调解新路子 2019-05-03
  • 春节我在岗:爸妈,儿子在军营给您们拜年了 2019-04-22
  • 传统文化,在中国文化里,居住是衡量一个家庭生活的基本因素。 2019-04-15
  • 俄韩就铺设途经朝鲜的天然气管道恢复磋商 2019-04-15
  • 经营者要想“我心换你心”,就要未雨绸缪,让不诚信的诱惑少一点,如此才能在市场中生存下来。反过来说,承担不起亏损就关门歇业,是否也是一种不诚信呢? 2019-04-11
  • 江西省能源集团公司党委副书记胡运生等2人被调查 2019-04-11
  • 乌鲁木齐:这个端午,他们的假日叫“坚守” 2019-03-29
  • 中国电信安康分公司60家智慧家庭便民服务中心盛大开业中国电信安康-最新活动 2019-03-28
  • 中心城区核心片组完成签约清零任务 2019-03-28
  • (Dos sesiones) Legislativo nacional de China concluye sesión anual Spanish.xinhuanet.com 2019-03-28
  • 34| 114| 45| 600| 749| 282| 845| 954| 958| 461|