Toon posts:

ASP/file system object.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal.
Ik ben sinds kort weer wat aan het proggen.
Nu ben ik een site aan het maken met een ledenlijst.
Nu wil ik voor elk lid een map aanmaken op de server waarin fotos gezet kunnen worden.
Nu wil ik bij de gedetailleerdere informatie over een lid ook de foto's uit zijn/haar map halen.
De map staat vermeld in de db. waarna uit deze map met behulp van het filesystemobject de bijbehorende fotos gehaald moeten worden.
Echter ik krijg het werkend maar dan zijn de foto's alleen te bekijken op de server (localhost) en wanneer ik dan op een andere pc bekijk dan krijg ik het absolute pad (c:\.....)

Ik heb al vanalles geprobeerd maar krijg dit niet veranderd.

onderstaand staat me script waarbij ik vermeld dat de fotos tov de asp page in \main\leden staan met daarin de verschillende mappen voor de leden..
Kan ook iemand me vertellen of ik hierbij aanpassingen in me db moet maken??

_______________________________________________________________
<%

dim fs,fo,x,str_pad,str_file_pad,str_file

set fs=Server.CreateObject("Scripting.FileSystemObject")
str_pad= Server.MapPath(rspro_art("geb_pad"))
set fo=fs.GetFolder(str_pad)
str_file=("x.Name") %>

str_file_pad= (str_pad)+("x.Name")
<table>
<tr>
<% for each str_file in fo.files
response.write(str_file)
%>
<td>
[img]"<%=[/img]">
</td>
<% next

set fo=nothing
set fs=nothing %>

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Wat is de output en wat staat er in de db?

Huur mij in als freelance SEO consultant!


Verwijderd

Topicstarter
in geb_pad staat : images\leden\dennis

maar het moet dus ook "virtueel" te bekijken zijn en niet alleen op de server
met de code zoals ik die gepost heb krijg ik als output: kan het pad niet vinden

heb het zonet dus werkend gehad maar dan krijg ik op een andere machine het image icoon met als src: c:\huppeldepup... wat ik dus niet hebben wil :?

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

Je geeft de image de absolute src van de file op de hd van de server (bijv. c:\inetpub\wwwroot\site\leden\0001\foto.jpg

Dit komt omdat je 1 keer de virtuele locatie fysiek maakt (mbv server.mapPath) en vervolgens alleen met die fysieke locatie werkt.

Ik kan alleen even geen voorbeeldje geven, want ik snap je code niet helemaal :? Kun je je héle file even posten?

Heeft de afbeelding trouwens een vast naam (dus foto.jpg), of varieert die naam per map en geef je dat in je db op?

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


Verwijderd

Topicstarter
Hoe kan ik dat fysieke dan voorkomen dus wat kan ik usen ipv. server.mapPath
Er kunnen trouwens meerdere images in die mappen gezet worden met elk verschillende namen..
Ik wil dus gewoon de map locatie in me db zetten (geb_pad) en vervolgens uit die map alle bestanden halen

me complete page:
_______________________________________________________________


<!-- #include file="inc/inc_conn.asp" -->
<!-- #include file="inc/inc_breadcrumbs.asp" -->
<!-- #include file="inc/inc_counter.asp" -->
<link href="css/producten.css" rel="stylesheet" type="text/css">
<link href="css/ggz_front.css" rel="stylesheet" type="text/css">

<!--gedeclareerde variabelen //-->
<%
dim stage, proart_id, userreactie, rsgeb_art, intgeb_art, lnggebartid, rscommentaar, rsaddcom_bericht, rsgebruiker, strInputName, strInputfunctie, strInputEmailAddress, strInputcom_bericht, sarycomentWord, intCheckWordLengthLoopCounter
dim intWordLength, blnWordLenthOK, intLongestWordLength, struserid , intpreview, rsgebcom, rspoll, rspoll2, str_gegevens(1), str_sql, rsmedia, rsintlink, intlink, rsintlinkname, lnggebid, rsextlink, objrswb, ReplacedString, objRegExp
dim cat, gebcategorie, rsgeb_cat, rsgeb_catfront, rsinstantie, objrs1, str_poll_id
dim str_fysiekpad, str_padinfo, strurl, artid, objrs_lnk,cat_id, gebnummer, rslink, lnggebart, rsart, rsforum, rspro_art
dim str_geb_email,str_geb_ww,str_geb_initialen,str_geb_achternaam,str_geb_adres,str_geb_geboortedatum,str_geb_woonplaats,str_geb_regio,str_geb_geslacht, str_geb_nick,id
%>
<!--database connectie //-->
<%
call connect()
Response.Buffer = True
gebcategorie=request.querystring("categorie")
stage=request.querystring("stage")
struserid=Session("geb_id")
intpreview = ("10")
%>

<!--pop-up script //-->
<script type="text/javascript">
function openPopup(i, w, h)
{
window.open(i, 'popwin', 'width='+ w +',height='+ h);
return false;
}
</script>


<script language="JavaScript">
<!--
function openWindow(categorie)
{
location.href=("../../main/geb_artikel.asp?stage=cat&categorie="+categorie);
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>


<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr height="15%">
<td colspan="2">
<!-- #include file="header.asp" --></td>
</tr>
<tr height="460">
<td width="750">
<div id="Layer1" style="position:absolute; width:649px; height:454px; z-index:1; left: 6px; top: 89px;" >


<table>
<% if session("geb_type_id") = 1 or session("geb_type_id") = 2 or session("geb_type_id") = 3 then %>
<% id=request.querystring("auto_id")%>
<%str_sql = "SELECT * FROM gebruikers INNER JOIN (auto INNER JOIN koppel_auto ON auto.auto_id = koppel_auto.auto_id) ON gebruikers.geb_lid_nr = koppel_auto.geb_lid_nr WHERE koppel_auto.auto_id="&id&";"%>
<% set rspro_art=conn.execute(str_sql)%>
<tr>
<td> Nickname:</td><td><% = rspro_art("geb_nick") %></td>
<td> Woonplaats:</td><td><% = rspro_art("geb_woonplaats") %></td></tr>
<tr>
<td> Type Alfa</td><td><% = rspro_art("auto_type") %></td></tr>
<tr>

<%

dim fs,fo,x,str_pad,str_file_pad,str_file

set fs=Server.CreateObject("Scripting.FileSystemObject")
str_pad= "http://pc/vortal/main/images/dennis"
set fo=fs.GetFolder(str_pad)
str_file=("x.Name") %>

str_file_pad= (str_pad)+("x.Name")
<table>
<tr>
<% for each str_file in fo.files
response.write(str_file)
%>
<td>
[img]"<%=[/img]">
</td>
<% next

set fo=nothing
set fs=nothing %>
</tr> </table>

</tr></table>

<% else %>
<table>
<tr><td>
<%response.write("sorry maar u moet ingelogd zijn") %>
<%end if %> </div>
</td>
<td></td>
</tr>
</table>
</body>

[ Voor 20% gewijzigd door Verwijderd op 23-10-2004 17:48 ]


  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

hm, mss niet zoon verstandig verzoek om de hele file te laten posten :o
Van mij mag je het weghalen

misschien heb je hier iets aan (heb de naamgeving van variabelen op mn eigen manier gedaan). Ik kan je geen garanties geven want heb het niet getest. Maar zo ongeveer moet het wel goed zijn.

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<table>
  <tr>

<%

Dim oFSO, oFolder, oFiles, oFile
Dim FOLDER_VIRTUAL, FOLDER_PHYSICAL, EXT_IS_JPG, EXT_IS_JPEG, EXT_IS_GIF, EXT_IS_PNG, FILENAME, TEMP_STRING

FOLDER_VIRTUAL = rspro_art("geb_pad")
FOLDER_PHYSICAL = Server.mapPath(FOLDER_VIRTUAL)
TEMP_STRING = ""

Set oFSO = Server.CreateObject("Scripting.fileSystemObject")
  If (oFSO.folderExists(FOLDER_PHYSICAL)) Then
    Set oFolder = oFSO.getFolder(FOLDER_PHYSICAL)
       Set oFiles = oFolder.Files
          For Each oFile In oFiles
          'supported extensions: jpg, jpeg, gif, png
            EXT_IS_JPG  = lCase(oFSO.getExtensionName(oFile.Path)) = "jpg"
            EXT_IS_JPEG = lCase(oFSO.getExtensionName(oFile.Path)) = "jpeg"
            EXT_IS_GIF  = lCase(oFSO.getExtensionName(oFile.Path)) = "gif"
            EXT_IS_PNG  = lCase(oFSO.getExtensionName(oFile.Path)) = "png"
            FILENAME = FOLDER_VIRTUAL & "/" & oFile.Name

            If (EXT_IS_JPG Or EXT_IS_JPEG Or EXT_IS_GIF Or EXT_IS_PNG) Then
               TEMP_STRING = TEMP_STRING & "<td>[img]"""&[/img]</td>" & vbCrLf
            End If
          Next
        Set oFiles = Nothing
    Set oFolder = Nothing
  End If
Set oFSO = Nothing

'show output to client
If (TEMP_STRING = "") Then TEMP_STRING = "<td>Geen foto's van ....</td>"
Response.Write TEMP_STRING
%>

  </tr>
</table>

%>

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


Verwijderd

Topicstarter
Ok daar heb ik al meer aan...
alleen nu krijg ik dus die foutmelding geen fotos van....

en me page draait dus in de map main
terwijl in de map main een map images staat
daarin zit de map leden
en daarin de map van het lid...
Wat zet ik nu dan in me db??????? :?

Verwijderd

Topicstarter
ok ... never mind g0t it
.\images\leden\lidnaam..
das de oplossing

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

Verwijderd schreef op 23 oktober 2004 @ 18:18:
Ok daar heb ik al meer aan...
alleen nu krijg ik dus die foutmelding geen fotos van....

en me page draait dus in de map main
terwijl in de map main een map images staat
daarin zit de map leden
en daarin de map van het lid...
Wat zet ik nu dan in me db??????? :?
je kunt in de db ook het hele relatieve pad gebruiken: /main/images/leden/lidnaam
dat is mss wel het gemakkelijkste

edit:
relatieve paden schrijf je over het algemeen met een fwd-slash, dus op mijn manier. maar jouw manier werkt wellicht ook

[ Voor 13% gewijzigd door wizzkizz op 23-10-2004 18:27 ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


Verwijderd

Topicstarter
Uhm nog 1 vraagje....
Hoe kan ik nu een table maken waarin de foto's automatisch geresized komen te staan en max 2 fotos naast elkaar?
heb al geprobeerd met siz="50%" maar dat wil ie niet slikken ben ik bang :S
of moet ik gewoon eerst alle fotos resizen en vervolgens pas in de map gaan zetten???

Verwijderd

in je tabel elke afbeedling width="50%" en height="50%" (mooier met css!).
Ofwel beetje prutsen met een image component voor asp :)

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

als je hoster een image-component heeft zou ik daarvoor kiezen, dat geeft een (veel) kortere laadtijd voor de afbeeldingen.

persoonlijk gaat mijn voorkeur uit naar een thumbnail-systeem, waarbij je, als je op de kleine afbeelding klikt oid, de volledige afbeelding te zien krijgt.

[ Voor 40% gewijzigd door wizzkizz op 23-10-2004 20:52 . Reden: toevoeginkje ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.

Pagina: 1