经典ASP归档功能仅归档拳头文件

时间:2017-02-22 16:18:50

标签: post checkbox asp-classic zip

问题

我有一个ASP函数,它应该根据用户检查的内容归档文件。出于某种原因,它只存档第一个文件。

例如,如果用户检查文件BD_Test1.txtTest2.txt,则压缩文件将只包含BD_Test1.txt

HTML代码

<form method="post">
    Resume 1 <input type="checkbox" name=check1 value="BD_Test1.txt"><br>
    Resume 2 <input type="checkbox" name=check1 value="BD_Test2.txt"><br>
    Resume 3 <input type="checkbox" name=check1 value="BD_Test3.txt"><br>
    Resume 4 <input type="checkbox" name=check1 value="BD_Test4.txt"><br>
    Resume 5 <input type="checkbox" name=check1 value="BD_Test5.txt"><br>
    Resume 6 <input type="checkbox" name=check1 value="BD_Test6.txt"><br>
    Resume 7 <input type="checkbox" name=check1 value="BD_Test7.txt"><br>
    Resume 8 <input type="checkbox" name=check1 value="BD_Test8.txt"><br>
    Resume 9 <input type="checkbox" name=check1 value="BD_Test9.txt"><br>
    Resume 10 <input type="checkbox" name=check1 value="BD_Test10.txt"><br>
    <br><input type = "submit" name="zipFile" value = "Download"/><br>
</form>

<br><br>

<%
If (Request.Form("zipFile") <> "") Then
    Call archiveFile()
End If
%>

ASP代码

Function archiveFile()
    Dim request_Value, request_File
    Dim compress_Zip
    Dim i

    request_Value = Request("check1")
    request_File = split(request_Value,",")

    Set compress_Zip = Server.CreateObject("XStandard.Zip")

    For i = LBound(request_File) to UBound(request_File)
        compress_Zip.pack Server.MapPath("resumes/" & request_File(i)), Server.MapPath("compressed/BD_Compressed.zip")
    Next

    Set compress_Zip = Nothing
End Function

1 个答案:

答案 0 :(得分:1)

我发现这个问题,对于那些会遇到同样问题的人来说......

ASP代码request_File = split(request_Value,",")仅针对逗号而不是命令和空格进行拆分。因此,request_File输出的Test1.txt Test2.txt应该是Test1.txtTest2.txt

这告诉代码压缩不存在的文件。