Programmcode
<%
'-----------------
'Funktionsname: ChkImg
'Funktion: Überprüfen Sie, ob die Bilddatei legal ist
'Parameter: img, Bildpfad, absoluter Pfad relativ zum Website-Stammverzeichnis
'Rückgabewert: Boolescher Typ. Wenn das Bild zulässig ist, geben Sie True zurück, andernfalls geben Sie False zurück
'Bedingung: Der Server muss die AspJpeg-Komponente unterstützen,
' Wenn dies nicht unterstützt wird, gibt diese Funktion direkt True zurück, um zu verhindern, dass nicht alle Bilder hochgeladen werden können
'-----------------
Funktion ChkImg(img)
On Error Resume Next „Um Fehlerinformationen zu erfassen, muss der Code weiterhin ausgeführt werden, wenn ein Fehler auftritt.
Dim RetunValue, ChkJpeg
RetunValue = True
'Wenn der Pfad leer ist, gilt das Bild als illegal
Wenn isnull(img) Then ChkImg = False:Exit Function
Set ChkJpeg = Server.CreateObject("Persits.Jpeg")
If -2147221005 <> Err Then 'Wenn die Komponente unterstützt wird, verwenden Sie die Komponente, um die Rechtmäßigkeit des Bildes zu überprüfen
ChkJpeg.Open Server.mappath(img)
Wenn Sie sich irren, dann
RetunValue = False
Ende wenn
Else 'Wenn die Komponente nicht unterstützt wird, überspringen und direkt True zurückgeben
RetunValue = True
End If
'www.downcodes.com Notwendige Nacharbeit
Wenn Fehlernummer <> 0, dann Fehler löschen
Setze ChkJpeg = Nothing
ChkImg = RetunValue
Funktion beenden
%>
Hinweis: Da AspJpeg nur Dateien verarbeiten kann, die sich bereits auf dem Server befinden, müssen wir dies während der eigentlichen Anwendung tun: Laden Sie zuerst das Bild in einen temporären Ordner hoch und überprüfen Sie dann die Rechtmäßigkeit des Bildes. Wenn es legal ist, kopieren Sie das Bild in das Bildspeicherverzeichnis, löschen Sie die temporäre Datei und geben Sie die Erfolgsmeldung für den Upload zurück. Wenn dies illegal ist, löschen Sie die temporäre Datei direkt und geben Sie eine Fehlermeldung zurück.
Da das Bild nur mit AspJpeg geöffnet wird und keine Bildverarbeitung durchgeführt wird, ist die Ausführungseffizienz dieser Funktion immer noch sehr hoch und es besteht grundsätzlich kein Grund zur Sorge über Effizienzprobleme bei der Verwendung.