Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336

    Nome immagine ridimensionata e scaricata

    Ciao,
    ho una pagina resize.aspx che, come si evince dal nome, effettua il ridimensionamento di un'immagine al volo.

    Io la uso in questo modo:
    Codice PHP:
    [img]resize.aspx?parametri[/img
    Il tutto funziona perfettamente, ma nel momento in cui salvo l'immagine ridimensionata facendo clic col pulsante destro del mouse e selezionando "salva immagine con nome", me la fa salvare come "resize.jpg".

    Leggendo in giro ho visto che una soluzione sarebbe l'Url Rewriting, ma non ho la possibilità di configurare il server in quanto il sito è su aruba e non è dedicato.

    È possibile ovviare a questo problema in qualche modo relativamente semplice?

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: se aggiungo questa intestazione

    System.Web.HttpContext.Current.Response.AddHeader( "Content-Disposition", "inline; filename=mia_immagine")

    mi funziona con Firefox e Opera, ma non con IE
    Pietro

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    grazie della risposta!

    A me funziona anche con IE7.

    Con Chrome, però, mi aggiunge un .htm ("mia_immagine.jpg.htm")

    Con safari invece tenta di salvare "resize.aspx", ma questo anche senza la stringa che hai suggerito...


    EDIT:
    Con Chrome ho risolto aggiungendo questa riga prima della tua:

    Codice PHP:
    System.Web.HttpContext.Current.Response.ContentType "image/JPEG; filename=mia_immagine" 
    Per Safari, al momento, nulla.

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    puoi fare un riepilogo delle intestazioni che usi, dato che mi interessa molto?

    Ciao
    Pietro

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: dunque, qui a casa, mi funziona con IE7, Opera9, Firefox3, Chrome, senza la tua aggiunta :master:

    ps: mi funziona pure con IE6, su windows 2000

    E' proprio un bel casino: non ci capisco più niente
    Pietro

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    336
    Ti posto il codice della pagina resize.aspx.
    Io lavoro prevalentemente con asp classico, quindi non sono molto esperto di .net.
    Questa pagina l'ho creata basandomi su script esistenti e adattandoli alle mie necessità, quindi se vedi qualche cosa ottimizzabile dimmi pure.

    Codice PHP:
    <%@ Import Namespace="System.Drawing"%>
    <%@ 
    Import Namespace="System.Drawing.Imaging"%>

    <
    SCRIPT RUNAT="SERVER">
        
    Sub Page_Load()
            
    System.Web.HttpContext.Current.Response.ContentType "image/JPEG; filename=" Request("img")
            
    System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition""inline; filename="&Request("img"))
            
            
    Dim width as Integer 0
            Dim height 
    as Integer 0
            
            
    try
            
            if 
    not Request.QueryString("imgwidth"is Nothing and Request.QueryString("imgwidth")<>"" Then
                width 
    Int32.Parse(Request.QueryString("imgwidth"))
            
    End if
            if 
    not Request.QueryString("imgheight"is Nothing and Request.QueryString("imgheight")<>"" Then
                height 
    Int32.Parse(Request.QueryString("imgheight"))
            
    End if
            
            catch 
    ex as Exception
            End 
    Try
            
            
    Dim immagine as String Server.MapPath(Request("img"))
            
            
    call ImgRedim(immaginewidthheight)
            
            
    Response.End()
        
    End Sub
        
        
    Public Sub ImgRedim(immagine as Stringwidth as Integerheight as Integer)
            
    Dim bmp as System.Drawing.Bitmap CType(System.Drawing.Image.FromFile(immagine), System.Drawing.Bitmap)
            
            
    dim g as graphics
            
            
    if width>or height>0 then
            
                
    if height 0 Then
                    height 
    Convert.ToInt32(width bmp.Width bmp.Height)
                
    End if
                
                if 
    width 0 Then
                    width 
    Convert.ToInt32(height bmp.Height bmp.Width)
                
    End if
                
                
    Dim miniaturabmp as New System.Drawing.Bitmap(bmpwidthheight)
                
    graphics.fromimage(miniaturabmp)
                
    g.InterpolationMode System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
                g
    .SmoothingMode System.Drawing.Drawing2D.SmoothingMode.HighQuality
                g
    .PixelOffsetMode System.Drawing.Drawing2D.PixelOffsetMode.HighQuality
                g
    .CompositingQuality System.Drawing.Drawing2D.CompositingQuality.HighQuality
                        
                miniaturabmp
    .Save(Response.OutputStreamSystem.Drawing.Imaging.ImageFormat.Jpeg)
                
                
    miniaturabmp.Dispose()
            else
                
    bmp.Save(Response.OutputStreamSystem.Drawing.Imaging.ImageFormat.Jpeg)
            
    end if
            
            
    bmp.Dispose()
        
        
    End Sub
    </SCRIPT>
     

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.