Hej jag är en newbee som sitter och strular lite med ett bildgalleri som jag hämtat från http://www.matteobinda.com/ jag gillar detta galleri och det är precis vad jag behöver till ett hemsideprojekt men tyvärr det är inte så plugNplay som det vill utge sig för att vara. Där ska man använda sig av en fil resize.aspx som ska krympa filerna till thumnails. filen ska enligt uppgift placeras i mappen med skrivrättigheter (samma som bilderna tror jag). Jag har provat att placera denna fil på ett flertal ställen men problemet kvarstår att inte thumbnailsen visas, dock så fungerar länken till den stora bilden. Får du några felmeddelanden eller vad händer, eller inte händer? Hej Pelle! Jag famlar fortfarande i mörker när jag försöker förstå. Detta är ju ett färdigt galleri som borde fungera så det känns inte som koden borde vara fel, så vad kan det vara. Ok! jag slutade att gräva i koden för bildgalleriet eftersom jag inte hittar, förstår någonting. så jag letade upp ett liknande galleri på www.aspnetexempel.com som passade bra förutom att det inte har någon funtion för radera bilder, nåväl! jag la upp det på min webbplatts för test och allt funkade fin fint. Bra tänkte jag och la in det hela Dreamweaver för att se om jag kunde bygga vidare på funktionerna. Då uppstår samma problem som med det förra galleriet, dvs. allt funkar bra förutom dom J**la thumb bilderna. Pinsamt är ordet. laborerade med sökvägen till bilderna igen!!! och avlägsnade ett / före sökvägen, och sen fungerade det. Så är det när man ska sitta och tänka när man igentligen borde sova. Godnatt!Thumbnails visas inte ?
Jag har Web10 som serverplatts och där har dom ordnat skrivrättigheter på alla mapparna och de stödjer ASP.net 2.0
Är det någon som orkar att hjälpa mig att se om filerna nedan innehåller något fel eller kanske har andra tipps som jag kan prova. Jag har sökt efter alternativ till detta galleri men inte hittat något som matchar detta så jag vore tacksam för hjälp.
Den första filen är thumbs.asp som ska visa bilderna och den andra är resize.aspx som är filen för bildförminskning.
<%
intCodice = request("id")
if intcodice = "" then
intcodice = request.form("category")
end if
%>
<!--#include file="admin/inc_db_aut.asp"-->
<%
PP=objrs("PP")
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><%response.write intcodice%></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
td.foto {
height: 180px;
width: 180px;
text-align:center;
vertical-align: middle;
}
body {
background-color: <%=objrs("TBC")%>;
color: <%=objrs("TC")%>;
}
div.sfondo {
padding: 10px;
margin: 10px;
width: 170px;
height: 170px;
background-color: <%=objrs("PBC")%>;
}
div.sfondo img {
vertical-align: middle;
}
a:link {
color: <%=objrs("TC")%>;
}
a:visited {
color: <%=objrs("TC")%>;
}
a:hover {
color: <%=objrs("TC")%>;
}
a:active {
color: <%=objrs("TC")%>;
}
</style>
</head>
<%
objRs.Close
Set objRs = Nothing
objConn.Close
Set objConn = Nothing
%>
<body>
<br />
<table border="0" align="center" width="520"><tr><td>
<!--#include file="admin/inc_db_ins.asp"-->
<%
strSQL = "SELECT DISTINCT category from fotoinfo "
Set objRs = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn
%>
<form name="categoria" method="post" action="thumb.asp">
<select name="categoria">
<option value="">Select a Gallery</option>
<option value="">.....</option>
<%
do while not objrs.EOF
%>
<option value="<%=objrs("category")%>"><%=objrs("category")%></option>
<%
objrs.movenext
loop
objRs.Close
Set objRs = Nothing
objConn.Close
Set objConn = Nothing
%>
</select>
<input type="submit" value="Go" /></form>
</td>
<td>
<div align="right">
<form method="post" name="ricerca" action="thumbricerca.asp">
<input type='text' name='ricerca' value="Search Pics" />
<input type='submit' value='Search' />
</form></div>
</td></tr></table>
<%
if intCodice<>"" then
dim col
iPageSize = PP
If Request.QueryString("page") = "" Then
iPageCurrent = 1
Else
iPageCurrent = CInt(Request.QueryString("page"))
End If
%>
<!--#include file="admin/inc_path.asp"-->
<!--#include file="admin/inc_db_ins.asp"-->
<%
strSQL = "SELECT * from fotoinfo where category ='" & intcodice & "' order by name desc"
Set objRs = Server.CreateObject("ADODB.Recordset")
objRS.PageSize = iPageSize
objRS.CacheSize = iPageSize
objRS.Open strSQL, objConn, 3, 3
reccount = objRS.recordcount
iPageCount = objRS.PageCount
If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
If iPageCurrent < 1 Then iPageCurrent = 1
If iPageCount = 0 Then
Response.Write "<p><table><td><font face='verdana' size='2' color='#000000'><b>No
records have been found.</b></td></table></p>"
Else
objRS.AbsolutePage = iPageCurrent
iRecordsShown = 0
%>
<table border="0" align="center">
<%
col = 1
Do While iRecordsShown < iPageSize And Not objRS.EOF
if col = 1 then
response.write "<tr>"
end if
%>
<td class="foto" valign="middle"><div align="center" class="sfondo">">" alt="<%
=objrs("descrizione")%>" border="0" /></div></td>
<%
if col MOD 4 = 0 then
%>
</tr>
<%
col = 1
else
col = col + 1
end if
iRecordsShown = iRecordsShown + 1
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
%>
</table>
<%End if%>
<%If ipagecount <> 1 Then%>
<table align="center">
<tr valign="middle">
<td width="50%" align="center"
valign="middle"><font face="verdana" size="1" color="#FFFFFF">
<b>
<%if iPageCurrent-2 > 0 and iPageCurrent > 2 then%>
<<<
<%end if%>
<%if iPageCurrent > 1 then%>
<
<%end if%>
<%if iPageCount > 2 then
if iPageCurrent-2 < 1 then da_pag = 1 else da_pag = iPageCurrent-2
if iPageCurrent+2 > iPageCount then fino_a_pag = iPageCount else fino_a_pag = iPageCurrent+2
else
da_pag = 1
fino_a_pag = iPageCount
end if%>
<%for i = da_pag to fino_a_pag%>
<%if i = iPageCurrent then%>
<font color="red"><%=i%></font>
<%else%>
<%=i%>
<%end if%>
<%next%>
<%if iPageCurrent > 0 and iPageCurrent < iPageCount then%>
>
<%end if%>
<%if iPageCurrent+1 < iPageCount then%>
>>>
<%end if%>
</b>
</font></td>
</tr>
<tr>
<td colspan="2" align="center"><font face="verdana" size="1" color="#FFFFFF">
Page
<font color="#FFFFFF"><b><%=iPageCurrent%></b></font>
of
<font color="#FFFFFF"><b><%=iPageCount%></b></font>
</font></td>
</tr>
</table>
<%end if%>
<%
objConn.Close
Set objConn = Nothing
else
Response.redirect "galleries.asp"
end if
%>
</body>
</html>
-----------------------------------------------------------------------------
<%@ Page Language="C#" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Text.RegularExpressions" %>
<script runat="server">
int MaxWidth = 100; // Minimal width for resize
int MaxHeight = 100; // Minimal height for resize
int ScaleFactor = 30; // Scale factor
System.Drawing.Image oldImage, newImage;
void Page_Load(Object sender, EventArgs e) {
if ( Request.QueryString["FileName"] != null ) {
string strFileName = Convert.ToString(Request.QueryString["FileName"]);
if ( Request.QueryString["ScaleFactor"] != null && Convert.ToString(Request.QueryString["ScaleFactor"]) != "" && IsInteger(Convert.ToString(Request.QueryString["scalefactor"])) ) ScaleFactor = Convert.ToInt32(Request.QueryString["ScaleFactor"]);
if ( strFileName != "" ) {
try {
oldImage = System.Drawing.Image.FromFile( Server.MapPath(strFileName) );
if ( oldImage.Width > MaxWidth || oldImage.Height > MaxHeight ) {
// Immagine troppo grande, visualizzo la miniatura
newImage = oldImage.GetThumbnailImage( (oldImage.Width*ScaleFactor/100), (oldImage.Height*ScaleFactor/100), null, IntPtr.Zero);
Response.ContentType = "image/jpeg";
newImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
oldImage.Dispose();
newImage.Dispose();
oldImage = null;
newImage = null;
} else {
// Immagine piccola, non faccio nulla
Response.ContentType = "image/jpeg";
oldImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
oldImage.Dispose();
oldImage = null;
}
} catch (Exception ex) {
Response.Write(ex.Message);
}
}
}
}
private bool IsInteger(string strTmp) {
Regex objNotIntPattern = new Regex("[^0-9-]");
Regex objIntPattern = new Regex("^-[0-9]+$|^[0-9]+$");
return !objNotIntPattern.IsMatch(strTmp) && objIntPattern.IsMatch(strTmp);
}
</script>
Sv: Thumbnails visas inte ?
Skapas bilden, finns den där?
Som du ser skall du kalla aspxsidan med filename och ScaleFactor för att den skall bete sig korrekt. Du har säkert någon bilduppladdningsrutin som körs, går den bra eller kommer inte originalbilden dit heller?Sv:Thumbnails visas inte ?
Tack för visat intresse.
Allt verkar funka som det ska förutom att bilden inte skapas och visas.
Jag ser inte någon miniatyrbild som är skapad i bildmappen.
Du kan se hur det funkar här:
http://www.test.dreddsite.com/thumb.asp?id=leif
Det enda ställe som jag hittar ScaleFactor på är i en fil som heter thumbricerca.asp men jag kan inte tyda vad den gör. Jag skickar med koden här nedan i fall det behövs.
De installerade komponenterna på kontot är följande:
AspUpload3.0.0.3
AspSmartUpload 3.x
AspImage 2.x
W3 Jmail4.4
MyODBC-3.51.12
ODBC.NET
Jag har letat i koden efter ett anrop efter aspxfilen och bara hittat det i thumbbricerca.asp och thumb.asp som båda visar tummnagelbilden.
Är det så att tummnagelbilderna inte skapas förän man öppnar sidan? och kommer dom inte lagras som filer utan skapas på nytt varje gång de efterfrågas?
<img src="<%=picspath%>Resize.aspx?FileName=<%=objrs("name")%>" alt="<%=objrs("descrizione")%>" border="0" />
Provade att radera aspxfilen ur bildmappen och det hände varken mer eller mindre för det.
hoppas du inte misströstar på dessa frågor. :-)
-----------------------------------------------------------------------
<!--#include file="admin/inc_db_aut.asp"-->
<%
PP=objrs("PP")
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<title>Thumb</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</meta>
<style type="text/css">
td.foto {
height: 180px;
width: 180px;
text-align:center;
}
body {
background-color: <%=objrs("TBC")%>;
color: <%=objrs("TC")%>;
}
div.sfondo {
padding: 10px;
margin: 10px;
width: 170px;
height: 170px;
background-color: <%=objrs("PBC")%>;
}
div.sfondo img {
vertical-align: middle;
}
a:link {
color: <%=objrs("TC")%>;
}
a:visited {
color: <%=objrs("TC")%>;
}
a:hover {
color: <%=objrs("TC")%>;
}
a:active {
color: <%=objrs("TC")%>;
}
</style>
</head>
<%
objRs.Close
Set objRs = Nothing
objConn.Close
Set objConn = Nothing
%>
<body>
<br>
<table border="0" align="center" width="520"><tr><td>
<!--#include file="admin/inc_path.asp"-->
<!--#include file="admin/inc_db_ins.asp"-->
<%
strSQL = "SELECT DISTINCT category from fotoinfo "
Set objRs = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn, 3, 3
%>
<form name="categoria" method="post" action="thumb.asp">
<select name="categoria">
<option value="">Select a Gallery</option>
<option value="">.....</option>
<%
do while not objrs.EOF
%>
<option value="<%=objrs("category")%>"><%=objrs("category")%></option>
<%
objrs.movenext
loop
objRs.Close
Set objRs = Nothing
objConn.Close
Set objConn = Nothing
%>
</select>
<input type="submit" value="Go"></form>
</td>
<td>
<div align="right">
<form method="post" name="ricerca" action="thumbricerca.asp">
<input type='text' name='ricerca' value="Search Pics">
<input type='submit' value='Search'>
</form></div>
</td></tr></table>
<%
ricerca = Request.QueryString("id")
if ricerca = "" then
ricerca = request.form("ricerca")
end if
if ricerca = "" then
response.write "<div align='center'>Sorry, no records have been found</div>"
else
dim col
iPageSize = PP
If Request.QueryString("page") = "" Then
iPageCurrent = 1
Else
iPageCurrent = CInt(Request.QueryString("page"))
End If
%>
<!--#include file="admin/inc_db_ins.asp"-->
<%
strSQL = "SELECT * from fotoinfo where descrizione like '%" & ricerca & "%' order by name desc"
Set objRs = Server.CreateObject("ADODB.Recordset")
objRS.PageSize = iPageSize
objRS.CacheSize = iPageSize
objRS.Open strSQL, objConn, 3, 3
reccount = objRS.recordcount
iPageCount = objRS.PageCount
If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
If iPageCurrent < 1 Then iPageCurrent = 1
If iPageCount = 0 Then
response.write "<div align='center'><table><td><font face='verdana' size='2' color='#FFFFFF'><b>Sorry, no records have been found</b></td></table></div>"
Else
objRS.AbsolutePage = iPageCurrent
iRecordsShown = 0
%>
<table border="0" align=center><tr>
<%
col = 1
Do While iRecordsShown < iPageSize And Not objRS.EOF
%>
<td class="foto"><div align="center" class="sfondo">">&ScaleFactor=30" alt="<%=objrs("descrizione")%>" border="0" /></div></td>
<%
if col MOD 4 = 0 then
%>
</tr>
<%
col = 1
else
col = col + 1
end if
iRecordsShown = iRecordsShown + 1
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
%>
</table>
<%End if%>
<p>
<%If ipagecount <> 1 Then%>
<center>
<table>
<tr valign="middle">
<td width="50%" align="center" valign="middle"><font face="verdana" size="1" color="#FFFFFF">
<b>
<%if iPageCurrent-2 > 0 and iPageCurrent > 2 then%>
<<<
<%end if%>
<%if iPageCurrent > 1 then%>
<
<%end if%>
<%if iPageCount > 2 then
if iPageCurrent-2 < 1 then da_pag = 1 else da_pag = iPageCurrent-2
if iPageCurrent+2 > iPageCount then fino_a_pag = iPageCount else fino_a_pag = iPageCurrent+2
else
da_pag = 1
fino_a_pag = iPageCount
end if%>
<%for i = da_pag to fino_a_pag%>
<%if i = iPageCurrent then%>
<font color="red"><%=i%></font>
<%else%>
<%=i%>
<%end if%>
<%next%>
<%if iPageCurrent > 0 and iPageCurrent < iPageCount then%>
>
<%end if%>
<%if iPageCurrent+1 < iPageCount then%>
>>>
<%end if%>
</b>
</font></td>
</tr>
<tr>
<td colspan="2" align="center"><font face="verdana" size="1" color="#FFFFFF">
<center>
Page
<font color="#FFFFFF"><b><%=iPageCurrent%></b></font>
of
<font color="#FFFFFF"><b><%=iPageCount%></b></font>
</center>
</font></td>
</tr>
</table>
</center>
<%end if%>
<%
objConn.Close
Set objConn = Nothing
%>
</TD>
</TR>
</TABLE>
<%end if%>
</body>
</html>Sv: Thumbnails visas inte ?
Behöver en fil som recize.aspx någon serverkomponent förutom .NET 2.0? om den behöver det borde det bli ett felmeddelande eller?
När jag tar bort filen helt från servermappen så händer inget, inget felmedelande eller någon annan skillnad utan allt funkar förutom att där det skulle varit en liten bild syns bara ett rött kryss som det gör när det inte finns någon bildfil. så då borde det väl vara något fel i anropet efter recize.aspx sidan??
Det här är bildens url och i den finns ju recize.aspx, innebär det att bilden krymps då den ska visas på sidan istället för när den laddas upp????
<img src="<%=picspath%>resize.aspx?FileName=<%=objrs("name")%>" alt="<%=objrs("descrizione")%>" border="0" />
mycket tacksam för mera tipps!Fortsättning av en tråkig historia....
Jag tror att det beror på sökvägen till filen som fixar thumb bilderna.
Jag har som i det tidigare fallet tagit bort thumbfilen för att se om det blir något felmedelande, jag har även förstört sökvägen men med samma resultat, dvs. allt funkar furutom thumbbilderna. Jag har gett mappen alla tänkbara rättigheter för körning av skript så det känns inte som det ska vara problemet heller.
Då sökvägen ligger i HTML avsnittet av sidan så blir effekten ju samma som en vanlig bruten länk i HTML men jag undrar lite hur det hela ter sig då asp.net kod är inblandat.
Några frågor:
1: Kan det var så att sökvägen behöver ändras beroende på vilken plattform man kör Webb eller IIS osv?
2: Om sökvägen är rätt och man tar bort filen så borde väl ett felmeddelande visas?
3: kan det vara så att felmeddelande inte visas utan thumbsidan helt enkelt ignoreras för att den av någon anledning inte kan köras tex. pga. skrivrättigheter, bristande stöd i asp.NET versionen?
Är det någon som har förslag eller annat som kan hjälpa så är jag mycket tacksam.
och som vanligt så slänger jag med koden för bildsidan.
************************************************************************************
<%@ Page Language="vb" debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
Protected imageIDCounter As Integer = 0
'*****************************************************************
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Not Page.IsPostBack Then
FillDataList()
End If
End Sub
'*****************************************************************
Protected Sub FillDataList()
'<- Databasanslutning ->
Dim myConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("/aspnet/db/gallery_db.mdb"))
Dim strSQL As String = "SELECT imageID, image_url, image_name, image_size FROM images ORDER BY imageID"
Dim myCommand As New OleDb.OleDbCommand(strSQL, myConnection)
Dim myReader As OleDbDataReader
Try
myConnection.Open()
myReader = myCommand.ExecuteReader
ImageDataList.DataSource = myReader
ImageDataList.DataBind()
myReader.Close()
myConnection.Close()
Catch ex As Exception
'Ev Felhantering
lblMessage.Text = ex.Message
End Try
End Sub
'******************************************************************
Protected Function GetImageName(ByVal image_url As String)
Dim strFileNameOnly As String = System.IO.Path.GetFileName(image_url)
Return strFileNameOnly
End Function
'******************************************************************
Protected Function ImgSize(ByVal image_size As String)
Dim img_size As Integer = Convert.ToInt32(image_size)/1000
Return img_size.ToString()
End Function
'******************************************************************
Protected Function GetImageID()
imageIDCounter += 1
Return imageIDCounter
End Function
'******************************************************************
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Bildgalleri</title>
<LINK href="myCSSstyle.css" type="text/css" rel="stylesheet">
<!--Javascript som öppnar bilden i orginalstorlek-->
<SCRIPT language="JavaScript" type="text/javascript">
<!--
function OpenPicture(ImageID)
{
window.open('bildspel.aspx?img_id=' + ImageID, 'BildGalleri', 'width=600,height=600,resizable=yes');
}
// -->
</SCRIPT>
</head>
<body>
<form id="myForm" method="post" runat="server">
<div align="center">
<asp:label id="lblMessage" class="ErrorMessage" runat="server" />
</div>
<asp:datalist BorderWidth="0px" id="ImageDataList" runat="server" Width="700px" RepeatLayout="Table" RepeatDirection="Horizontal" RepeatColumns="6" GridLines="None" HorizontalAlign="center">
<HeaderTemplate>
<div align="left" class="headers">» Bilder</div>
</HeaderTemplate>
<ItemTemplate>
<br>
<TABLE cellSpacing="0" cellPadding="3" width="100%" border="0">
<TR>
<TD class="minitextmrk" align="left" width="100%">
<a onMouseOver="this.style.cursor='pointer'" onMouseOut="this.style.cursor=''" onClick="javascript:OpenPicture('<%#GetImageID()%>')">
<!--Här hämtas miniatybilden från filen thumbview.aspx ELLER!!!????-->
<img src='thumbview.aspx?img_name=<%#GetImageName(DataBinder.Eval(Container.DataItem, "image_url").ToString())%>' alt='<%#DataBinder.Eval(Container.DataItem, "image_name")%>' class="images">
</a>
<br>(<asp:Label id="ImageSize" Runat="server" CssClass="litentextmrk" Text='<%#ImgSize(DataBinder.Eval(Container.DataItem, "image_size").ToString())%>'/>
kB)
<br>
</TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:datalist>
</form>
</body>
</html>
Pinsamt!!!