28 messaggi dal 23 febbraio 2005
Cradle ha scritto:
Occhio al caching del browser, che spesso e volentieri in questi casi (handler che restituiscono immagini) ti fa vedere ciò che non è

Ciao,
m.

Ciao Cradle,
ho svuotato la cache ma niente, le immagini continuano a non essere visualizzate.
Non riesco proprio a capire...
3.939 messaggi dal 28 gennaio 2003
Per prova ho creato un sito nuovo con una sola pagina Thumbnail.aspx

pagina Thumbnail.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Thumbnail.aspx.vb" Inherits="prove_Thumbnail" %>

<!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 runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>



codice
Option Strict On
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Drawing.Drawing2D
Imports System.IO




Partial Class prove_Thumbnail
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Try
            Dim strPath As String = Request.QueryString("p")
            Dim strHeight As Integer = CInt(Request.QueryString("h"))
            Dim strWidth As Integer = CInt(Request.QueryString("w"))

            Dim img As System.Drawing.Image = Me.GetImage(strPath)
            Dim format As ImageFormat = img.RawFormat
            Dim size As Size = Me.ThumbSize(img.Width, img.Height, Convert.ToInt16(strWidth))
            Dim bitmap As New Bitmap(size.Width, size.Height)

            Dim graphics As Graphics = graphics.FromImage(bitmap)
            graphics.SmoothingMode = SmoothingMode.HighQuality
            graphics.InterpolationMode = InterpolationMode.HighQualityBicubic
            graphics.DrawImage(img, 0, 0, size.Width, size.Height)

            MyBase.Response.ContentType = Me.GetContentType(format)

            Dim stream As New MemoryStream
            bitmap.Save(stream, format)
            stream.WriteTo(MyBase.Response.OutputStream)

            img.Dispose()
            bitmap.Dispose()
            Response.End()

        Catch ex As Exception
            MyBase.Response.ContentType = "image/jpeg"
            Dim img As System.Drawing.Image = System.Drawing.Image.FromFile(Server.MapPath("/tmp/prova.jpg"))
            Dim bitmap As New Bitmap(40, 40)
            Dim stream As New MemoryStream
            bitmap.Save(stream, ImageFormat.Jpeg)
            stream.WriteTo(MyBase.Response.OutputStream)
            img.Dispose()
            bitmap.Dispose()
        End Try
    End Sub

    Private Function ThumbSize(ByVal currentWidth As Integer, ByVal currentHeight As Integer, ByVal newWidth As Integer) As Size
        Dim num As Double
        If currentWidth > newWidth Then
            num = Convert.ToDouble(newWidth) / CDbl(currentWidth)
        Else
            num = 1
        End If
        Return New Size(Convert.ToInt16(CDbl((currentWidth * num))), Convert.ToInt16(CDbl((currentHeight * num))))
    End Function

    Private Function GetContentType(ByVal imageFormat As ImageFormat) As String
        If imageFormat.Equals(imageFormat.Bmp) Then
            Return "image/bmp"
        End If
        If imageFormat.Equals(imageFormat.Gif) Then
            Return "image/gif"
        End If
        If imageFormat.Equals(imageFormat.Jpeg) Then
            Return "image/jpeg"
        End If
        If imageFormat.Equals(imageFormat.Png) Then
            Return "image/png"
        End If
        Return ""
    End Function

    Private Function GetImage(ByVal strPath As String) As System.Drawing.Image
        If (strPath.IndexOf("http://") > -1) Or (strPath.IndexOf("https://") > -1) Then
            Try
                Dim request As System.Net.HttpWebRequest = DirectCast(System.Net.WebRequest.Create(strPath), System.Net.HttpWebRequest)
                request.Credentials = System.Net.CredentialCache.DefaultCredentials
                Dim response As System.Net.HttpWebResponse = DirectCast(request.GetResponse, System.Net.HttpWebResponse)
                Return System.Drawing.Image.FromStream(response.GetResponseStream)
            Catch ex As Exception
                Return System.Drawing.Image.FromFile(Server.MapPath("~/Images/Thumbnail.jpg"))
            End Try
        End If
        Return System.Drawing.Image.FromFile(Server.MapPath(strPath))
    End Function

End Class




pagina html che richiama l'immagine
<!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></title>
</head>
<body>
    <img alt="" src="http://localhost/prova/Thumbnail.aspx?w=800&p=http://static.panoramio.com/photos/original/216697.jpg" />
</body>
</html>
28 messaggi dal 23 febbraio 2005
Pietro,
ho provato ma non funziona.
Ho testato lo script online e va alla grande. Mi da problemi solo su locale, cosa potrebbe essere
Ciao e grazie.
267 messaggi dal 29 settembre 2009
Hai antivir in esecuzione ? A me è capitato con kaspersky un problema simile al tuo , lo dovevo disattivare per visualizzare le img...
3.939 messaggi dal 28 gennaio 2003
XCS ha scritto:
Pietro,
ho provato ma non funziona.
Ho testato lo script online e va alla grande. Mi da problemi solo su locale, cosa potrebbe essere
Ciao e grazie.


Sarà che sono duro, ma che significa online va e su locale no?

Io le prove le faccio in locale, su IIS 7, montato su Vista, non ho provato su windows 2003 server ma secondo me va.

ps. kaspersky lo stavo per comprare, ma mi sa che mi terrò Avira Antivir Premium, almeno lui non mi dà questi problemi
28 messaggi dal 23 febbraio 2005
pietro09 ha scritto:
XCS ha scritto:
Pietro,
ho provato ma non funziona.
Ho testato lo script online e va alla grande. Mi da problemi solo su locale, cosa potrebbe essere
Ciao e grazie.


Sarà che sono duro, ma che significa online va e su locale no?

Io le prove le faccio in locale, su IIS 7, montato su Vista, non ho provato su windows 2003 server ma secondo me va.

ps. kaspersky lo stavo per comprare, ma mi sa che mi terrò Avira Antivir Premium, almeno lui non mi dà questi problemi

Online vuol dire che ho uploadato la pagina e testato su www.mysite/subfolder/thumbnail.aspx?...(win ser 2003) e funziona, invece su localhost no(anch'io IIS 7 su Vista)
3.939 messaggi dal 28 gennaio 2003
Prova ad entrare come Administrator. Se dovesse andare con Administrator ma non con altri utenti, è un problema di protezioni. Io posso verificare solo questa sera sul tardi.
Ciao.
28 messaggi dal 23 febbraio 2005
pietro09 ha scritto:
Prova ad entrare come Administrator. Se dovesse andare con Administrator ma non con altri utenti, è un problema di protezioni. Io posso verificare solo questa sera sul tardi.
Ciao.

Già fatto ma niente!
E' una delle cose più assurde che mi siano capitate!
Ciao.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.