
这些天我正在使用asp程序asp服务器上传图片出错,该程序引用xheditor编辑器和上载程序upload.asp,这是无畏上载类V2.2 xheditor的特殊修改版本. 可以成功测试本地上传的图片和文件. 问题是图像上传到服务器后无法成功上传.
这里有几种失败的方法,我是第二种,我将分别说明:
类型1: 在某些情况下,根本无法上传文件. 这是由于上传v2.2时出现了一个错误而不必担心.
使用“ Fearless upload class v2.2”,在操作过程中发生了问题. 上载文件时,提示上载成功,但实际上未上载文件. 但是asp服务器上传图片出错,如果使用“ Fearless Upload Class v1.2”,则不存在此问题. 比较代码后,我发现了问题. 我认为这应该是“无畏上传类v2.2”中的错误.
UpFile_Class类的SaveToFileEx成员函数中有两行:
tmpPath =拆分(路径,“. ”)(0)
FileExt = GetFileExt(路径)
稍后,如果没有问题要上传,请执行以下行以将文件写入此计算机:
oFileStream.SaveToFile tmpPath和“. &FileExt,2

路径是此计算机上已上传文件的完整路径. 可以看出,作者的初衷是tmpPath的值是文件的完整路径,没有扩展名“. ”. 连接的扩展. 这主要基于安全考虑. 但是,实际上有一个“. ”. 在路径中,例如“ D: /web/aaa.com/bbb/”. 这样,tmpPath的值为“ D: / web / aaa”,这显然是错误的. 这种问题仍然表明,成功上传的原因是SaveToFileEx函数的开头有一个“ On Error Resume Next”.
通过这种方式,我们对SaveToFileEx函数进行了一些修改,以便它首先拦截路径和文件名,将其存储在onlyPath和onlyFileName中,然后提取onlyFileName的扩展名. 将tmpPath = Split(Path,“. ”)(0)修改为以下代码:
对于i = len(路径)到1步-1
如果mid(Path,i,1)=“ /”或mid(Path,i,1)=“ /”,则退出
下一个
onlyPath =左侧(路径,i)
onlyFileName =正确(路径,len(路径)-i)
tmpFileName =拆分(onlyFileName,“. ”)(0)
然后更改代码以将文件写入此:

oFileStream.SaveToFile OnlyPath和tmpFileName&“. &FileExt,2
进行此修改后,它将运行没有问题. 这是由错误的文件保存路径引起的.
类型2: 文件已成功上传到指定目录,但是无法将其加载到ubb编辑框中,或者在ubb编辑器中加载了其他文件名.
如果您在上载.asp文件开头的错误继续处删除,则在文件上载过程中将发生以下错误:
/upload.asp,第300行说没有权限,但是显然可以上传文件吗?这300行代码是:
功能moveFile(旧文件,新文件)
dim fs
设置fs = Server.CreateObject(“ Scri”和“ pting.File”和“ Sys”和“ temObject”)
fs.movefile Server.MapPath(旧文件),Server.MapPath(新文件)(第300行)

设置fs =否
结束功能
本地测试文件的上传成功,并且服务器也已上传到指定的目录,但是无法使用此moveFile函数. 为什么会这样?
有一个原因: 服务器上的目录结构是否有所不同?如果您跟踪Server.MapPath(newfile),这是正确的吗?
我已经对其进行了测试,但找不到问题,所以我不使用此功能,而是直接将上传的文件名oldfile分配给newfile
输入原始代码:
'生成随机文件名并重命名
随机化计时器
文件名= DateFormat(现在为“ yyyymmddhhnnss”)+ cstr(cint(9999 * Rnd))+“. ” +扩展名
目标= attach_dir +文件名
moveFile attach_dir + tmpfile,目标
如果即时=“ 1”,则目标=“!” +目标
target = jsonString(目标)
更改为:
'生成一个随机文件名并将其重命名/左注: 本地测试成功,并且上载到服务器后无法执行moveFile,因此两个值必须相等/
tmpfile = attach_dir + tmpfile
target = tmpfile
如果即时=“ 1”,则目标=“!” +目标
target = jsonString(目标)
这当然是一种不好的方法,但是暂时只能这样做,因为结果是图片成功上传.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-162222-1.html
来宣示霸权的美国军舰