Assegnare l'estensione al file in upload
Fapic non è online. Ultima attività: 26/11/2008 8.55.33Fapic
Inserito il: 10 ottobre 2008 09.55
66 messaggi dal 23 apr 2008 Istalla Microsoft Silverlight!
Ciao a tutto il Forum...

ragazzi utilizzo il seguente script per uploadare file sul mio server
però sono costretto ad assegnergli io l'estensione, chi sa modificarmelo
in modo che assegni in automatico l'estensione ".jpg" in modo che io metta solo il nome ?

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Pagina senza titolo</title>
</head>
<body>
<SCRIPT language="VB" RUNAT="server">
' 20 KB=20*1024
const MaxLength=120480
const FileType="image/*"

'in pixel
const MaxWidth=350
const MaxHeight=250

Sub BtnUp_Click(sender As Object, e As EventArgs)
'controllo la dimensione del file
If inputFile.PostedFile.ContentLength>MaxLength Then
Results.InnerHtml = "Il file è di dimensioni troppo elevate. Max " & MaxLength/1024 & "KB"
'controllo il tipo di file caricato in bytes
ElseIf Not inputFile.PostedFile.ContentType.StartsWith("image") Then
Results.InnerHtml = "Il file non è valido. Dev'essere un'immagine"
Else
'effettuo un controllo sulle dimensioni dell'immagine
Dim img as System.Drawing.Image=System.Drawing.Image.FromStream(inputFile.PostedFile.InputStream)
If img.Width>MaxWidth OrElse img.Height>MaxHeight Then
Results.InnerHtml = "L'immagine ha dimensioni superiori a quelle consentite. Max " & MaxWidth & "x" & MaxHeight
Else
'se è tutto ok, salvo l'immagine
inputFile.PostedFile.SaveAs( Server.MapPath(inputNome.Value) )
Results.InnerHTML = "FileUploadato su " & inputNome.Value & "</b>!"
End If
img.Dispose()
End If
End Sub

Sub Page_Load(sender as Object, e as EventArgs)
inputFile.Accept=FileType

End Sub
</SCRIPT>

<form id="Form1" enctype="multipart/form-data" RUNAT="server">
<DIV id=Results RUNAT="server"></DIV>

Uploada questo file:
<input id="inputFile" type="file" RUNAT="server" /><BR>
Nome:
<input id="inputNome" type="text" RUNAT="server" /><BR>
<input type="button" id="BtnUp" value="Upload!" OnServerClick="BtnUp_Click" RUNAT="server" />
</form>
</body>

</html>
Microsoft Most Valuable Professional
RE: Assegnare l'estensione al file in upload
Ricciolo non è online. Ultima attività: 04/12/2008 11.08.52Ricciolo
Inserito il: 10 ottobre 2008 10.04
contributi / Top Poster / Community manager / blogs.aspitalia.com / Blog / 4646 messaggi dal 26 feb 2001 Istalla Microsoft Silverlight!
Usa la funzione Path.ChangeExtension
inputFile.PostedFile.SaveAs(Path.ChangeExtension(Server.MapPath(inputNome.Value), ".jpg")

Un consiglio però. Io non userei il nome che ti arriva dalla form, sei passibile di path canolization. Per esempio se uno ti passava un file di nome web.config ti andava a sovrascrivere il tuo file di configurazione.

Ciao

Il mio blog
Homepage
RE: Assegnare l'estensione al file in upload
Fapic non è online. Ultima attività: 26/11/2008 8.55.33Fapic
Inserito il: 10 ottobre 2008 13.44
66 messaggi dal 23 apr 2008 Istalla Microsoft Silverlight!
ho provato a fare questo cambiamento, praticamente diventa cosi

però mi da errore cosa puo essere ?

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Pagina senza titolo</title>
</head>
<body>
<SCRIPT language="VB" RUNAT="server">
' 20 KB=20*1024
const MaxLength=120480
const FileType="image/*"

'in pixel
const MaxWidth=350
const MaxHeight=250

Sub BtnUp_Click(sender As Object, e As EventArgs)
'controllo la dimensione del file
If inputFile.PostedFile.ContentLength>MaxLength Then
Results.InnerHtml = "Il file è di dimensioni troppo elevate. Max " & MaxLength/1024 & "KB"
'controllo il tipo di file caricato in bytes
ElseIf Not inputFile.PostedFile.ContentType.StartsWith("image") Then
Results.InnerHtml = "Il file non è valido. Dev'essere un'immagine"
Else
'effettuo un controllo sulle dimensioni dell'immagine
Dim img as System.Drawing.Image=System.Drawing.Image.FromStream(inputFile.PostedFile.InputStream)
If img.Width>MaxWidth OrElse img.Height>MaxHeight Then
Results.InnerHtml = "L'immagine ha dimensioni superiori a quelle consentite. Max " & MaxWidth & "x" & MaxHeight
Else
'se è tutto ok, salvo l'immagine
inputFile.PostedFile.SaveAs(Path.ChangeExtension(Server.MapPath(inputNome.Value), ".jpg")


Results.InnerHTML = "FileUploadato su " & inputNome.Value & "</b>!"
End If
img.Dispose()
End If
End Sub

Sub Page_Load(sender as Object, e as EventArgs)
inputFile.Accept=FileType

End Sub
</SCRIPT>

<form id="Form1" enctype="multipart/form-data" RUNAT="server">
<DIV id=Results RUNAT="server"></DIV>

Uploada questo file:
<input id="inputFile" type="file" RUNAT="server" /><BR>
Nome:
<input id="inputNome" type="text" RUNAT="server" /><BR>
<input type="button" id="BtnUp" value="Upload!" OnServerClick="BtnUp_Click" RUNAT="server" />
</form>
</body>

</html>
Microsoft Most Valuable Professional
RE: Assegnare l'estensione al file in upload
Ricciolo non è online. Ultima attività: 04/12/2008 11.08.52Ricciolo
Inserito il: 10 ottobre 2008 15.12
contributi / Top Poster / Community manager / blogs.aspitalia.com / Blog / 4646 messaggi dal 26 feb 2001 Istalla Microsoft Silverlight!
Beh, che errore?

Ciao

Il mio blog
Homepage
RE: Assegnare l'estensione al file in upload
Fapic non è online. Ultima attività: 26/11/2008 8.55.33Fapic
Inserito il: 10 ottobre 2008 19.45
66 messaggi dal 23 apr 2008 Istalla Microsoft Silverlight!
grazie dell'interessamento...

non me lo specifica soltanto che in visual studio non mi fa cambiare schermata mi dice solo che c'é un errore, e se salvo comuque la pagina me lo da il server errore...

posso chiederti invece se volessi salvare il file con un nome da me scelto es. foto.jpg senza avere la scelta del nome ?
RE: Assegnare l'estensione al file in upload
manuel0081 non è online. Ultima attività: 04/12/2008 14.18.15manuel0081
Inserito il: 10 ottobre 2008 20.05
C'è un motivo per cui non usi un FileUpload?

Un consiglio: tieni presente che se nel web.config hai settato una dimensione minore della richiesta http, non avrai mai un controllo sulla dimensione del file.

Player of Age of Empires II - The Conquerors
Player of www.websoccermanager.com
RE: Assegnare l'estensione al file in upload
Fapic non è online. Ultima attività: 26/11/2008 8.55.33Fapic
Inserito il: 12 ottobre 2008 00.24
66 messaggi dal 23 apr 2008 Istalla Microsoft Silverlight!
Sai che non ho capito !

RE: Assegnare l'estensione al file in upload
pietro09 non è online. Ultima attività: 04/12/2008 19.49.42pietro09
Inserito il: 12 ottobre 2008 10.54
Top Poster / 1608 messaggi dal 28 gen 2003 Istalla Microsoft Silverlight!
nel web.config, metti (es. per 100 Mb):

<httpRuntime maxRequestLength="102400"/>

100 * 1024 = 102400 kb = 100 Mb


se non lo metti, il predefinito è:

4096 KB (4 MB).


ps. Io ne approfitto per chiedere se l'errore dovuto ad un invio di dimensione superiore a quella consentita sia intercettabile (se sì, come?)
Ciao

Modificato da pietro09 il 12 ottobre 2008 10.57 -

Pietro

2 pagine: [1] 2 Avanti >>

Vai a:
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.


PeppeDotNet - 1000 pt
gghi - 270 pt
fabrica - 50 pt

Iscriviti anche tu e raccogli punti. Questo mese in palio VS 2008, SQL Prompt e 1 ebook!


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums