webForumDet fria alternativet

Se om webcam är aktiv

ASP

22 svar · 595 visningar · startad av Sico

Medlem sedan maj 20002 597 inlägg
Frågan#1

På min sida så har jag länkat min webcam. Tänkte då att det skulle va en grön/röd ikon bakom längen för att besökarna lätt ska se om den är igång eller ej.. hur gör man detta på lättaste vis?

skulle man på nåt sätt kunna göra såhär:
Min bild som läggs till när jag går offline är på 50kb medan när webcamen är onlie så är bilderna på 11-14kb..

Skulle man kunna göra en IF-sats på nåt sätt att

If bilden <50kb Then
response.write <img src="online.gif">
End If

:)

ni förstår .. hur ska man göra på bästa sätt för att uppfylla funktion?

Medlem sedan mars 20002 836 inlägg
#2

du skulle ju kunna kolla när senaste bilduppdateringen var med hjälp av FSO och metoden DateLastModified. Antar att bilderna uppdateras typ varje minut eller ngt sådant. Man borde då kunna kika när den senaste bilden var uppdaterad och kolla om det var mer än en minut sedan med hjälp av antingen DateAdd() eller DateDiff() funktionerna.

Denna kod hämtar alla bilder från katalogen och sorterar efter datum descending:

'## -- fysiska sökvägen till mappen med bilderna --
strFolderPath = "x:\folder\bildfolder\"

Set objRS = Server.CreateObject("ADODB.Recordset")

	With objRS
		.Fields.Append "Filename", adChar, 255
		.Fields.Append "Date", adDate
		.open
	End With

	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
	Set objFolder = objFSO.GetFolder(strFolderPath)

		For Each File IN objFolder.Files
			strFileName = File.Name
			dteFileDate = File.DateLastModified

			objRS.AddNew
				objRS("Filename") = sFilename
				objRS("Date") = sDate
			objRS.Update
		Next

	Set objFolder = Nothing
	Set objFSO = Nothing

	If Not objRS.EOF Then
		objRS.Sort = "Date DESC"

		objRS.MoveFirst

		dteLastUpdate = objRS("Date")
	End If
	objRS.Close
Set objRS = Nothing

'## -- kolla om filens sista ändrad datum är äldre än 1 minut --
If DateAdd("n",1,dteLastUpdate) < Now() Then
Response.Write "Filen är äldre än 1 minut."
Else
Response.Write "Filen är inte äldre än 1 minut."
End If

ngt sådant borde funka ..... otestat så det kanske blir lite att mickla med.
Du måste ändra sökvägen till mappen med dina bilder.

cya,
PatrikB

Medlem sedan maj 20002 597 inlägg
#3

Error Type:
ADODB.Fields (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/phede/Top.inc.asp, line 134

	With objRS
		[B].Fields.Append "Filename", adChar, 255[/B]
		.Fields.Append "Date", adDate
		.open
	End With

vad kan det vara ?

Medlem sedan mars 20002 836 inlägg
#4

sorry, glömde klistra in 2 konstanter som används:
Lägg dessa före Set objRS

Const adChar = 129
Const adDate = 7

cya,
PatrikB

Medlem sedan maj 20002 597 inlägg
#5

Ska testa när jag kommer hem... fan skolan bara förstör :(

Medlem sedan maj 20002 597 inlägg
#6

.. :(

Path not found

säger den.... men jag vet att sövägen är korrekt..

<% 
'## -- fysiska sökvägen till mappen med bilderna --
strFolderPath = "http://213.66.56.36/webcam/Snap.jpg"

Const adChar = 129
Const adDate = 7

Set objRS = Server.CreateObject("ADODB.Recordset")

	With objRS
		.Fields.Append "Filename", adChar, 255
		.Fields.Append "Date", adDate
		.open
	End With

	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
	Set objFolder = objFSO.GetFolder(strFolderPath)

		For Each File IN objFolder.Files
			strFileName = File.Name
			dteFileDate = File.DateLastModified

			objRS.AddNew
				objRS("Filename") = sFilename
				objRS("Date") = sDate
			objRS.Update
		Next

	Set objFolder = Nothing
	Set objFSO = Nothing

	If Not objRS.EOF Then
		objRS.Sort = "Date DESC"

		objRS.MoveFirst

		dteLastUpdate = objRS("Date")
	End If
	objRS.Close
Set objRS = Nothing

'## -- kolla om filens sista ändrad datum är äldre än 1 minut --
If DateAdd("n",1,dteLastUpdate) < Now() Then
Response.Write "Offline"
Else
Response.Write "Online"
End If
%>
Medlem sedan mars 20002 836 inlägg
#7

du måste ha bilden på samma server som webbplatsen för att kunna köra FSO :(

Men finns det inte en funktion som gör att webcamerans program ftpar över bilden till din webbplats?

cya
PatrikB

Medlem sedan maj 20002 597 inlägg
#8

det är samma webhotell bara att filen inte under samma undermapp eller hur ska jag säja.. wwwroot\webcam .. min sida på wwwroot\phede ... testade med "../webcam/snap.jpg" men funkade inte heller

R: jag vet inte varför den inte hittar bilden.. testade med en bild som låg under samma mapp som asp-filen men den hittarinte filen ändå... va e det som skummar?

Medlem sedan mars 20002 836 inlägg
#9

Testa att köra detta:

strFolderPath = Server.MapPath("/webcam")

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

	Set objFile = objFSO.GetFile(strFolderPath)
		For Each File IN objFile.Files
			Response.Write File.Name & "<BR>"
		Next
	Set objFile = Nothing
Set objFSO = Nothing

cya,
PatrikB

Medlem sedan maj 20002 597 inlägg
#10

samma fel :(

Medlem sedan mars 20002 836 inlägg
#11

Vad får du för felmeddelande?

cya,
PatrikB

Medlem sedan maj 20002 597 inlägg
#12

Error Type:
Microsoft VBScript runtime (0x800A0035)
File not found
/phede/Top.inc.asp, line 137

	Set objFile = objFSO.GetFile(strFolderPath)
Medlem sedan mars 20002 836 inlägg
#13

eh, koden jag gav senast är inte på 137 rader. Kör endast den koden och se om du får ngt felmeddelande.

cya,
PatrikB

Medlem sedan maj 20002 597 inlägg
#14

samma fel :( igen :(

Medlem sedan mars 20002 836 inlägg
#15

ehhh, har setat för mycket i LN idag tror jag.

byt GetFile mot GetFolder :r

cya,
PatrikB

Medlem sedan maj 20002 597 inlägg
#16

tackar... ett steg på vägen :)

jag e inte 100% säker på om jag skrivigt rätt men det måste nog va såhär.. det snurrar lite för mig där uppe i planeten :bire

Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: ''
/phede/s.asp, line 19

<% 
'## -- fysiska sökvägen till mappen med bilderna --
strFolderPath = Server.MapPath("/webcam")

Const adChar = 129
Const adDate = 7

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

	Set objFile = objFSO.GetFolder(strFolderPath)
		For Each File IN objFile.Files
			Response.Write File.Name & "<BR>"
		Next
	Set objFile = Nothing
Set objFSO = Nothing

[b]	If Not objRS.EOF Then[/b]
		objRS.Sort = "Date DESC"

		objRS.MoveFirst

		dteLastUpdate = objRS("Date")
	End If
	objRS.Close
Set objRS = Nothing

'## -- kolla om filens sista ändrad datum är äldre än 1 minut --
If DateAdd("n",1,dteLastUpdate) < Now() Then
Response.Write "Offline"
Else
Response.Write "Online"
End If
%>
Medlem sedan mars 20002 836 inlägg
#17

Nej, inte rätt.

ta den första koden jag gav och ändra .GetFile till .GetFolder i den istället.

cya,
PatrikB

Medlem sedan mars 20002 836 inlägg
#18

fast i den stod det ju getfolder =O

e du säker på att den inte funkar?

Denna kod funkar perfa:

<%
Const adChar = 129
Const adDate = 7

'## -- fysiska sökvägen till mappen med bilderna
'##    ändra till den folder du vill hämta filer från --
strFolderPath = Server.MapPath("/images/")

Set objRS = Server.CreateObject("ADODB.Recordset")

	With objRS
		.Fields.Append "Filename", adChar, 255
		.Fields.Append "Date", adDate
		.open
	End With

	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
	Set objFolder = objFSO.GetFolder(strFolderPath)

		For Each File IN objFolder.Files
			strFileName = File.Name
			dteFileDate = File.DateLastModified

			objRS.AddNew
				objRS("Filename") = sFilename
				objRS("Date") = sDate
			objRS.Update
		Next

	Set objFolder = Nothing
	Set objFSO = Nothing

	If Not objRS.EOF Then
		objRS.Sort = "Date DESC"

		objRS.MoveFirst

		dteLastUpdate = objRS("Date")
	End If
	objRS.Close
Set objRS = Nothing

'## -- kolla om filens sista ändrad datum är äldre än 1 minut --
If DateAdd("n",1,dteLastUpdate) < Now() Then
Response.Write "Filen är äldre än 1 minut."
Else
Response.Write "Filen är inte äldre än 1 minut."
End If
%>

cya,
PatrikB

Medlem sedan maj 20002 597 inlägg
#19

det finns ju ingen GetFile i den första koden du gav mig :)

Medlem sedan mars 20002 836 inlägg
#20

hello,

ändra namn på sökvägen till bildfilen som kommer från webcameran:

<%

'## -- fysiska sökvägen till bilden --
strFilePath = Server.MapPath("/image/myimage.gif")

	Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
		Set objFile = objFSO.GetFile(strFilePath)

			dteFileDate = objFile.DateLastModified

		Set objFile = Nothing
	Set objFSO = Nothing

	dteMinuteDiff = DateDiff("n", dteFileDate, Now())
'## -- kolla om filens sista ändrad datum är äldre än 1 minut --

If dteMinuteDiff < 1 Then
	Response.Write "Online"
Else
	Response.Write "Offline"
End If
%>

cya,
PatrikB

290 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
160 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)