明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

一個ASP版的圖片瀏覽器

[摘要]這是我第一次翻譯文章,不足之處,還請見諒。 印度,現(xiàn)在之所以成為軟件出口大國,有很多地方都優(yōu)于我們。其中一個首要的優(yōu)勢就是印度的官方語言是英語,這就為以英語作為編程語言的印度程序員帶來得天獨厚的優(yōu)越條件。對于我們從事IT業(yè)的人來說,也應該加強自已英語訓練。首先,感謝CSDN提供這樣的平臺。閑話不多...

這是我第一次翻譯文章,不足之處,還請見諒。
印度,現(xiàn)在之所以成為軟件出口大國,有很多地方都優(yōu)于我們。其中一個首要的優(yōu)勢就是印度的官方語言是英語,這就為以英語作為編程語言的印度程序員帶來得天獨厚的優(yōu)越條件。對于我們從事IT業(yè)的人來說,也應該加強自已英語訓練。首先,感謝CSDN提供這樣的平臺。閑話不多說,正文如下:

導言
如果你有個已運行兩個月以上時間的網站,你也許會注意到你網站上已積聚了很多的圖片文件。盡管我們都已盡力為這些圖片文件很好的命名,但當我們去瀏覽這些圖片的文件名時,我們總是會很難想起一些圖片文件名有何特殊的含義或用處。
這時,我們通常會重復地用瀏覽器打開那些圖片,看看是什么圖片?這時,這段ASP代碼就可以做為圖片瀏覽器(和清理器)來瀏覽這些圖片并執(zhí)行清理操作。

編碼:
事實上,這個程序就是包含某目錄下的所有圖片的一個列表頁面,用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>

執(zhí)行刪除操作時,一定要注意,如果在程序里不加刪除確認提示,程序將不能撤消刪除操作。

結論
人們總是不會拿asp來建大型的可升級的網站。(譯者注:這句不翻譯不是很恰當,根據(jù)我的工作經歷,ASP完全可以建設大型的網站系統(tǒng)。在ASP方面中,本人曾參予建設過大型企業(yè)內部網,移動行業(yè)應用等。)但有時候你可以用這個簡化你的工作,即使這代碼從沒在WEB上發(fā)表。

獲取代碼
你可以下載包含這個代碼的討論的ZIP文件http://www.asp101.com/articles/john/imageviewer/imgview.zip。為了控制文件的大小,我沒有包含一個圖片例子。我再一次提醒你,用這個代碼做破壞并刪除很多相關圖片是很容易的。要注意,沒有刪除確認時,要確認用圖片復本來操作。

代碼更新
我已收到很多有關這個代碼的EMAIL?戳艘院,我還是發(fā)現(xiàn)有很多問題。
第一:一些人沒有意識到他們必須設置代碼查找圖片的路徑。我現(xiàn)在已在放置代碼的目錄下設一個圖片目錄.所以,如果我把代碼放于http://www.weiw.com的根目錄下,代碼執(zhí)行后,將顯示http://www.weiw.com/images/下的所有圖片。
你可以改變ImageFilePath 常量的值。你也可以在這兒放一些虛擬路徑,代碼將用Server.MapPath來確定適當?shù)奈锢砺窂。你可以很容易地指定你網站上的一些位置。例如,把那個常量的值從"images"改變?yōu)?/images",這樣可以讓程序指向網站根目錄下的images目錄。同理,可以修改ImageFilePath 的值達到同樣目的.

第二:當寫這個代碼時,我簡單地用在我機器里的文件類型。這樣只能在我的機器上順利運行。于是發(fā)現(xiàn),文件類型的描述可以改變你的文件聯(lián)合的基礎。為了取得你選擇要顯示那些基于此類文件代替他們類型的擴展名。我已在這個ZIP文件中的代碼里實現(xiàn)了這個功能.現(xiàn)在這是最新的程序版本。
http://www.asp101.com/articles/john/imageviewer/imgview.zip