Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    residenza
    Roma
    Messaggi
    26

    Ottenere dimensioni immagini

    Sto sviluppando su VWD2008 con Win7.
    L'utente selezionando un' immagine che puo' essere sia nel filesystem che all' interno del sito, dovrebbe ricevere un messaggio con scritta la larghezza e uno con scritta l' altezza dell' immagine stessa.

    Funziona bene se l'immagine e' nel file system ma restituisce l' errore:
    System.IO.FileNotFoundException: ~/images/2009_0195.jpg
    se l' immagine si trova interna al sito stesso.

    Ecco il codice semplificato che utilizzo (alcuni NameSpace sembrerebbero inutili ma si tratta di codice semplificato al nostro esempio):
    #Region "Directives"

    Imports System.Data
    Imports System.Configuration
    Imports System.Web
    Imports System.Web.Security
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Web.UI.WebControls.WebParts
    Imports System.Web.UI.HtmlControls
    Imports System.Collections.Generic
    Imports System.IO
    Imports System.Drawing

    #End Region

    Partial Public Class _Default
    Inherits System.Web.UI.Page
    Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    Dim image As System.Drawing.Image

    image = Drawing.Image.FromFile("~/images/2009_0195.jpg")
    'image = Drawing.Image.FronFile("C:\Temp\2009_0195.jpg")

    ClientScript.RegisterStartupScript(Me.[GetType](), "Alert", "<script type=text/javascript>alert('" & image.Width & "')</script>")
    ClientScript.RegisterStartupScript(Me.[GetType](), "Alert", "<script type=text/javascript>alert('" & image.Height & "')</script>")
    End If

    End Sub
    End Class

    Non posso scaricare le immagini del sito nel file system, quindi la lettura deve avvenire la' dove le immagini si trovano.

    Qualche idea?
    Sigma Beta

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    funziona se scrivi così?

    image = Drawing.Image.FromFile(Server.MapPath("~/images/2009_0195.jpg"))
    Pietro

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    residenza
    Roma
    Messaggi
    26
    Grazie, leggendo qui e là ho infatti dedotto che le proprietà di image si devono sempre riferire ad un absolute path, quindi nel caso di sito in locale
    <"C:\images\2009_0195.jpg" >
    e nel caso di sito pubblicato qualcosa come
    <"d:\inetpub\webs\nomesitoit\images\2009_0195.jpg" >
    Più in generale meglio se <
    server.MapPath("~/images/2009_0195.jpg")>
    come guarda caso mi suggerisce anche Pietro.
    Ultima modifica di SigmaBeta; 05-07-2015 a 14:00
    Sigma Beta

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.