在线等待,帮我看看这段代码的意思,和需要修改的地方!

<%
'需要安装ABC组件
'下载地址:http://www.websupergoo.com/abcupload-1.htm

'文件保存目录路径
Dim SavePath
SavePath = "../attached/"

'文件保存目录URL
Dim SaveUrl
SaveUrl = "./attached/"

'定义允许上传的文件扩展名
Dim ExtArr(3)
ExtArr(0) = "gif"
ExtArr(1) = "jpg"
ExtArr(2) = "png"
ExtArr(3) = "bmp"

'最大文件大小
Dim MaxSize
MaxSize = 1000000

Dim Msg1, Msg2, Msg3
Msg1 = "上传文件大小超过限制。"
Msg2 = "上传文件扩展名是不允许的扩展名。"
Msg3 = "上传文件失败。"

'用ABC组件
Dim theForm
Set theForm = Server.CreateObject("ABCUpload4.XForm")

'得到POST参数
Dim FileName, FileWidth, FileHeight, FileBorder, FileTitle, FileAlign, FileHspace, FileVspace
FileName = theForm("fileName")
FileWidth = theForm("imgWidth")
FileHeight = theForm("imgHeight")
FileBorder = theForm("imgBorder")
FileTitle = theForm("imgTitle")
FileAlign = theForm("imgAlign")
FileHspace = theForm("imgHspace")
FileVspace = theForm("imgVspace")

Dim FilePath, FileUrl
FilePath = SavePath & FileName
FileUrl = SaveUrl & FileName

'上传到相对地址
theForm.AbsolutePath = False

'得到上传二进制文件
Dim theField
Set theField = theForm("fileData")(1)

'上传处理
Dim oFileSize, oFileType
If theField.FileExists Then
oFileSize = theField.Length
oFileType = theField.FileType
if oFileSize > MaxSize Then
Alert(Msg1)
ElseIf oFileType <> ExtArr(0) AND oFileType <> ExtArr(1) AND oFileType <> ExtArr(2) AND oFileType <> ExtArr(3) Then
Alert(Msg2)
else
theField.Save FilePath
End If
Response.Write "<html>"
Response.Write "<head>"
Response.Write "<title>error</title>"
Response.Write "<meta http-equiv=""content-type"" content=""text/html; charset=gb2312"">"
Response.Write "</head>"
Response.Write "<body>"
Response.Write "<script type=""text/javascript"">parent.KindInsertImage(""" & FileUrl & """,""" & FileWidth & """,""" & FileHeight & """,""" & FileBorder & """,""" & FileTitle & """,""" & FileAlign & """,""" & FileHspace & """,""" & FileVspace & """);</script>"
Response.Write "</body>"
Response.Write "</html>"
Else
Alert(Msg3)
End if

'提示,关闭层
Function Alert(msg)
Response.Write "<html>"
Response.Write "<head>"
Response.Write "<title>error</title>"
Response.Write "<meta http-equiv=""content-type"" content=""text/html; charset=gb2312"">"
Response.Write "</head>"
Response.Write "<body>"
Response.Write "<script type=""text/javascript"">alert(""" & msg & """);parent.KindDisableMenu();parent.KindReloadIframe();</script>"
Response.Write "</body>"
Response.Write "</html>"
End Function

%>
我该修改什么地方才能让这个功能正常使用呢?

你补充的问题是怎么修改。
子页面的程序为ASP,所以,你可以用
response.write FileVspace&"--"&&imgHspace&"--"&&imgAlign&"来测试验第一段。或者用response.write "<script>parent.document.write "&FileVspace&"--"&&imgHspace&"--"&&imgAlign&"</script>"来测试。

ASP程序的基本调试就是response.write.在复杂的页面状况下,有时直接写出的显示不出来。因为这个页面很快就结束了。那么可以response.write "<script>parent.document.write('')</script>"等来显示。

适时加入response.end让页面停止运行。

最难测的是theForm("fileData")(1) 也就是theField。既然它是一数组,可以用ubound(theField)来显示一下它倒底有多长个数。

测试到Response.Write "<script type=""text/javascript"">parent段时,页面进入显示阶段。主要的错误往往是JS错误。而不是ASP错误。浏览器可能会有叹号提示。

说实话,你说的错误,也许不是这页程序的错误。说不准备父页面已经有了JS错误。

何必一下子选这么难的课题呢?我当初研究编辑器是从“上传类class”开始。后来随着Javascript的熟练、自由运用,才开始改写编辑器的代码。全国有几个人看得懂编辑器的代码呢?

在这里难住,不如直接放弃那个ABC封包的编辑器,去网上下载直接套用编辑器。对一般前后台用户来说,编辑器的功能也就那么多。好的和差的差不多。

Dim FileName, FileWidth, FileHeight, FileBorder, FileTitle, FileAlign, FileHspace, FileVspace
FileName = theForm("fileName")
FileWidth = theForm("imgWidth")
FileHeight = theForm("imgHeight")
FileBorder = theForm("imgBorder")
FileTitle = theForm("imgTitle")
FileAlign = theForm("imgAlign")
FileHspace = theForm("imgHspace")
FileVspace = theForm("imgVspace")
这一段是取得本页面,前一个表单的多个数据。图片的宽、高、边框、标题、对齐方式、垂直间距、水平间距

'得到上传二进制文件
Dim theField
Set theField = theForm("fileData")(1)
仍然是上个表单,表单的("fileData")项为一个数组,取得2个值。第一个值,大概是文件名。

'上传处理
Dim oFileSize, oFileType
If theField.FileExists Then
oFileSize = theField.Length
oFileType = theField.FileType
if oFileSize > MaxSize Then 。。。
其中的theField是由封包在ABC组件里的全局性数组变量。其中存储了文件类型、大小。在此取出到FileSize, oFileType 。

Response.Write "<script type=""text/javascript"">parent.KindInsertImage(""" & FileUrl & """,""" & FileWidth & """,""" & FileHeight & """,""" & FileBorder & """,""" & FileTitle & """,""" & FileAlign & """,""" & FileHspace & """,""" & FileVspace & """);</script>" 为向父窗口提交参数,并引用父窗口页面中的KindInsertImage函数,KindInsertImage函数实际是一个绘图函数,在父窗口中按照提交的参数绘图。

关闭层
parent.KindDisableMenu();parent.KindReloadIframe();
父窗口的菜单暂时禁止,(全部按钮变灰),重新引导子个框架,也就是当前这一页面。

您所提供的代码是WEB方式在线编辑器中的一个按钮的功能描述。
这个按钮按下时,即上传图片,跳出来的子页面完成上传以后,把相关参数传给父窗吕(实际就是编辑的显示区)
由你窗口再次绘图,也就是显示图片。图片的路径已经变成服务器端了,不是本地的。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答