瀏覽器 這是我第一次翻譯文章,不足之處,還請見諒。
印度,現在之所以成為軟體出口大國,有很多地方都優於我們。其中一個首要的優勢就是印度的官方語言是英語,這就為以英語作為程式設計語言的印度程式員帶來得天獨厚的優越條件。對於我們從事IT業的人來說,也應該加強自已英語訓練。首先,感謝CSDN提供這樣的平台。閑話不多說,本文如下:
導言
如果你有個已運行兩個月以上時間的網站,你也許會注意到你網站上已積聚了很多的圖片檔案。儘管我們都已儘力為這些圖片檔案很好的命名,但當我們去瀏覽這些圖片的檔案名稱時,我們總是會很難想起一些圖片檔案名稱有何特殊的含義或用處。
這時,我們通常會重複地用瀏覽器開啟那些圖片,看看是什麼圖片?這時,這段ASP代碼就可以做為圖片瀏覽器(和清除程式)來瀏覽這些圖片並執行清理操作。
編碼:
事實上,這個程式就是包含某目錄下的所有圖片的一個列表頁面,用FileSystemObject 對象來列舉出這些圖片檔案(gif和jpeg檔案).
在頁面裡加一個連結 toggle display ,來控制是否顯示圖片。當你有很多檔案而不想都載入它們,你可以只讓頁面的一個圖片顯示一個連結,相反,如果你不確定一些檔案命名是含義,這個功能將能很好的協助你進行清理操作。
下面是很簡潔的代碼
<%@ Language=VBScript %>
<% Option Explicit %>
<%
Const ImageFilePath = "images"
Const DeleteButtonLabel = "Delete Selected Images"
Dim objFSO
Dim objFolder
Dim objFile
Dim strFileName
Dim strFileExtension
Dim blnShowImages
If Request.QueryString("ShowImages") = "" Then
blnShowImages = False
Else
blnShowImages = CBool(Request.QueryString("ShowImages"))
End If
If Request.Form("btnDelete") = DeleteButtonLabel Then
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
For Each strFileName In Request.Form("delete")
objFSO.DeleteFile(Server.MapPath(ImageFilePath & "/" & _
strFileName))
Next
Set objFSO = Nothing
End If
%>
<html>
<head>
<title>ASP 101 Image Browser & Killer!</title>
</head>
<body>
<form action="<%= Request.ServerVariables("URL") %>" method="post">
<table border="1">
<tr>
<th>Image Name</th>
<th>Image <a href="<%= Request.ServerVariables("URL") %>?
ShowImages=<%= Not blnShowImages %>">(Toggle Display)</a></th>
<th>Delete This Image</th>
</tr>
<%
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(ImageFilePath))
For Each objFile In objFolder.Files
strFileExtension = LCase(Mid(objFile.Name, _
InStrRev(objFile.Name, ".", -1, 1) + 1))
If strFileExtension = "gif" Or strFileExtension = "jpg" Or _
strFileExtension = "jpeg" Then
' Original image file identification option:
'If objFile.Type = "GIF Image" Or _
objFile.Type = "JPEG Image" Then
%>
<tr>
<td>
<a href="<%= ImageFilePath & "/" & objFile.Name %>">
<%= objFile.Name %></a>
</td>
<%
If blnShowImages Then
%>
<td>
<img src="<%= ImageFilePath & "/" & objFile.Name %>" />
</td>
<%
Else
%>
<td>
<a href="<%= ImageFilePath & "/" & objFile.Name %>">
View Image</a>
</td>
<%
End If
%>
<td align="center">
<input type="checkbox" name="delete"
value="<%= objFile.Name %>" />
</td>
<%
End If
Next
Set objFolder = Nothing
Set objFSO = Nothing
%>
<tr>
<td colspan="3" align="right">
<input type="submit" name="btnDelete"
value="<%= DeleteButtonLabel %>">
</td>
</tr>
</table>
</form>
</body>
</html>
執行刪除操作時,一定要注意,如果在程式裡不加刪除確認提示,程式將不能撤消刪除操作。
結論
人們總是不會拿asp來建大型的可升級的網站。(譯者註:這句不翻譯不是很恰當,根據我的工作經曆,ASP完全可以建設大型的網站系統。在ASP方面中,本人曾參予建設過大型企業內部網,移動行業應用等。)但有時候你可以用這個簡化你的工作,即使這代碼從沒在WEB上發表。
擷取代碼
你可以下載包含這個代碼的討論的ZIP檔案http://www.asp101.com/articles/john/imageviewer/imgview.zip。為了控制檔案的大小,我沒有包含一個圖片例子。我再一次提醒你,用這個代碼做破壞並刪除很多相關圖片是很容易的。要注意,沒有刪除確認時,要確認用圖片複本來操作。
代碼更新