1.245 messaggi dal 03 marzo 2004
Sempre rapido e gentile Ricky ! Il system.drawing c'era (ma solo perchè lo aveva inserito di default visual studio :P, micca è farina del mio sacco!)

Ho trovato un'altro po' di errorini, tipo Not che nelle condizioni il c# vuole ! e sono arrivata a questo:

private void Button1_Click(object sender, System.EventArgs e)
    {
      try 
      {
        if ((! (Lfile.PostedFile == null)) && (Lfile.PostedFile.ContentType.Substring(0, 5) == "image"))
        {
          HttpImgUpload objUpload = new HttpImgUpload (Lfile.PostedFile, System.Configuration.ConfigurationSettings.AppSettings["UploadFolder"], "test.jpg", 250000, 300, 300); 
          objUpload.DestinationFolder = System.Configuration.ConfigurationSettings.AppSettings["UploadFolder"]; // opzionale 
          objUpload.ImageFilename = "test.jpg"; // opzionale 
          objUpload.Format = Imaging.ImageFormat.Jpeg; // opzionale 
          objUpload.SaveImage();
        }
        else
        {
        //  intercetto l'errore e lo metto sulla label
        }
      }
      catch
      {
        // eccezione 1
      }
      finally
      {
        // eccezione2
      }
    }

E' rimasto solo un errorino: c:\inetpub\wwwroot\upload2\WebForm1.aspx.cs(59): The type or namespace name 'imaging' could not be found (are you missing a using directive or an assembly reference?)

Sonia

L'infinito è... ASP.NET
Al posto di Imaging scrivi System.Drawing.Imaging e/o metti all'inizio della sezione di script nel code-behind il riferimento al namespace: using System.Drawing;

Il namespace è incluso tra i references, vero?

Ciao, Ricky.
Modificato da rickyvr il 29 settembre 2004 12.33 -

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
1.245 messaggi dal 03 marzo 2004
mmm... using System.Drawing, c'era già. La cosa strana è che se per scrupolo lo aggiungo davanti ad imaging quando compilo mi esce un messaggio di errore:

Error while tryning to run project. Unable to start debugging on the web server. Server side-error occurred on sendig debug HTTP.

Poi va bè, la seconda parte penso sia irrilevante, dice di controllare il web config...

Mio codice:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace upload2
{
  /// <summary>
  /// Summary description for WebForm1.
  /// </summary>
  public class WebForm1 : System.Web.UI.Page
  {
    protected System.Web.UI.HtmlControls.HtmlInputFile Lfile;
    protected System.Web.UI.WebControls.Button Button1;
    protected System.Web.UI.WebControls.Label Msg;
  
    private void Page_Load(object sender, System.EventArgs e)
    {
      // Put user code to initialize the page here
    }

    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
      //
      // CODEGEN: This call is required by the ASP.NET Web Form Designer.
      //
      InitializeComponent();
      base.OnInit(e);
    }
    
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {    
      this.Button1.Click += new System.EventHandler(this.Button1_Click);
      this.Load += new System.EventHandler(this.Page_Load);

    }
    #endregion

    private void Button1_Click(object sender, System.EventArgs e)
    {
      try 
      {
        if ((! (Lfile.PostedFile == null)) && (Lfile.PostedFile.ContentType.Substring(0, 5) == "image"))
        {
          HttpImgUpload objUpload = new HttpImgUpload (Lfile.PostedFile, System.Configuration.ConfigurationSettings.AppSettings["UploadFolder"], "test.jpg", 250000, 300, 300); 
          objUpload.DestinationFolder = System.Configuration.ConfigurationSettings.AppSettings["UploadFolder"]; // opzionale 
          objUpload.ImageFilename = "test.jpg"; // opzionale 
          objUpload.Format = System.Drawing.Imaging.ImageFormat.Jpeg; // opzionale 
          objUpload.SaveImage();
        }
        else
        {
        //  intercetto l'errore e lo metto sulla label
        }
      }
      catch
      {
        // eccezione 1
      }
      finally
      {
        // eccezione2
      }
    }
  }
}

Web Config che non ho toccato:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<AppSettings>
<add key="UploadFolder" value="myPath" />
</AppSettings>
  <system.web>
    
  <system.web>
    <compilation 
         defaultLanguage="c#"
         debug="true"
    />

    <customErrors 
    mode="RemoteOnly" 
    /> 
    <authentication mode="Windows" /> 
    <trace
        enabled="false"
        requestLimit="10"
        pageOutput="false"
        traceMode="SortByTime"
    localOnly="true"
    />
    <sessionState 
            mode="InProc"
            stateConnectionString="tcpip=127.0.0.1:42424"
            sqlConnectionString="data source=127.0.0.1;user id=sa;password="
            cookieless="false" 
            timeout="20" 
    />
    <globalization 
            requestEncoding="utf-8" 
            responseEncoding="utf-8" 
   />
    </system.web>
</configuration>

L'infinito è... ASP.NET
Attenzione...
Nel web.config hai aperto 2 volte il tag <system.web>.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
1.245 messaggi dal 03 marzo 2004
Eliminato...
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<AppSettings>
  <add key="UploadFolder" value="myPath" />
</AppSettings>
  <system.web>
    <compilation 
         defaultLanguage="c#"
         debug="true"
    />

    <customErrors 
    mode="RemoteOnly" 
    /> 
    <authentication mode="Windows" /> 
    <trace
        enabled="false"
        requestLimit="10"
        pageOutput="false"
        traceMode="SortByTime"
    localOnly="true"
    />
    <sessionState 
            mode="InProc"
            stateConnectionString="tcpip=127.0.0.1:42424"
            sqlConnectionString="data source=127.0.0.1;user id=sa;password="
            cookieless="false" 
            timeout="20" 
    />
    <globalization 
            requestEncoding="utf-8" 
            responseEncoding="utf-8" 
   />
    </system.web>
</configuration>


Il problema però permane...

c:\inetpub\wwwroot\upload2\WebForm1.aspx.cs(59): The type or namespace name 'Imaging' could not be found (are you missing a using directive or an assembly reference?)

Se davamto ad imaging ci metto System.Drawing mi ridà l'errore di prima

Sonia

L'infinito è... ASP.NET
Mandami il tuo progetto di prova zippato via mail a riccardo_at_aspitalia_dot_com.

Gli do un occhio direttamante io, se la cosa ti va bene.

Ciao, Ricky.
Modificato da rickyvr il 29 settembre 2004 16.47 -

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
Allora a me ha funzionato dopo un paio di modifiche veloci veloci...

1. Come già detto in precedenza:

objUpload.Format = System.Drawing.Imaging.ImageFormat.Jpeg;


2. nel web.config c'è un errore di battitura di cui non mi ero accorto: appSettings va scritto in notazione camel, con iniziale minuscola e lettera maiuscola per le iniziali delle parole costituenti successive alla prima.

<appSettings> 
<add key="UploadFolder" value="myPath" /> 
</appSettings>


3. Ti ricordo infine di settare in lettura e scrittura la cartella "myPath" per l'utente ASPNET.

Prova con queste modifiche, vedrai che funziona!!!

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
1.245 messaggi dal 03 marzo 2004
Grazie mille Ricky

L'infinito è... ASP.NET

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.