martedì 24 giugno 2014

Upload di file multipli in .Net con c#

Con poche righe di codice è possibile eseguire upload di file multipli in un sito web su piattaforma .Net con linguaggio c#.
E' molto importante ricordare nel "form" la proprietà enctype="multipart/form-data" e nell'oggetto "input" la proprietà multiple="multiple"
Nell'esempio è presente la parte client/html (Default.aspx), il codice associato (Default.aspx.cs) e le immagini d'aiuto.

Default.aspx
<asp:%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>asp:
<asp:html xmlns="http://www.w3.org/1999/xhtml">asp:
<asp:head runat="server">asp:
    <asp:title>asp:<asp:/title>asp:
<asp:/head>asp:
<asp:body>asp:
    <asp:form id="form1" runat="server" enctype="multipart/form-data"  method="post" >asp:
        <asp:table cellpadding="2" cellspacing="1" width="740px">asp:
            <asp:tr>asp:
                <asp:td width="120px">asp:
                    <asp:input type="file" id="File1" multiple="multiple" name="File1" runat="server" />asp:
                <asp:/td>asp:
            <asp:/tr>asp:
            <asp:tr>asp:
                <asp:td align="left">asp:
                    <asp:asp:Button id="Manual" Text="Upload" runat="server" OnClick="Upload_Click"  />asp:
                <asp:/td>asp:
            <asp:/tr>asp:
            <asp:tr>asp:
                <asp:td colspan="4">asp:
                    <asp:asp:ListBox ID="list_message" name="list_message" runat="server" width="600px" Height="200px">asp:<asp:/asp:ListBox>asp:
                <asp:/td>asp:
            <asp:/tr>asp:
        <asp:/table>asp:
    <asp:/form>asp:
<asp:/body>asp:
<asp:/html>asp:
Default.aspx.cs
public partial class _Default : System.Web.UI.Page
{
    string pathFileUploaded = "c:\\temp\\";

    protected void Page_Load(object sender, EventArgs e)
    {}
 
    protected void Upload_Click(object sender, System.EventArgs e)
    {
        if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength >asp: 0))
        {
            HttpFileCollection uploadedFiles = Request.Files;
            for (int i = 0; i <asp: uploadedFiles.Count; i++)
            {
                HttpPostedFile userPostedFile = uploadedFiles[i];
                try
                {
                    if (userPostedFile.ContentLength >asp: 0)
                    {
                        string fn = System.IO.Path.GetFileName(userPostedFile.FileName);
                        try
                        {
                            userPostedFile.SaveAs(pathFileUploaded + fn);
                            list_message.Items.Add(userPostedFile.FileName + " inviato.");
                        }
                        catch (Exception ex)
                        {
                           list_message.Items.Add("Errore: " + ex.Message);
                        }
                    }
                }
                catch (Exception Ex)
                {
                   list_message.Items.Add("Errore: " + Ex.Message);
                }
            }
        }
        else
        {
            list_message.Items.Add("Selezionare almeno 1 file.");
        }
    }
}



sabato 21 giugno 2014

Digital Generation e la piccola esagerazione

Primi di giugno del 2014: "carissimi....bla bla bla...visto che le uscite sono maggiori delle entrate... bla bla bla...quindi 150$ per 1 thread".
Dunque, da 50$ ciascuno passate a 150$??? E tra un po' l'impiego della CPU con la versione 4.x sarà minimo del 50% e non più del 10%?
Capisco che ora i thread portano in cassa 2$ al giorno anzichè 1$, ma forse è un pochino esagerato!
No, forse è meglio aspettare tempi migliori per lo sharing, le regole qui cambiano velocemente.

martedì 17 giugno 2014

Esempio di creazione file con VBScript

Tramite l'utilizzo dell'oggetto "FileSystem" in VBScript è possibile creare dei file su di una directory e inserire all'interno di essi del contenuto.
In questo esempio vengono creati 2 file xml.
Come lanciarlo? Semplice: creare un file sul desktop chiamato ad esempio "customers.vbs" ed editarlo; inserire queste righe; salvare e fare doppio click sul file appena creato.
Verranno creati due file sul percorso "C:\" (cambiare eventualmente il percorso di destinazione).

Dim xml
Dim oFS, oTextStream, fileName
dim i

For nfile=1 to 2 'It writes 2 file
 fileName="C:\\customers_" & nfile & ".xml"
 Set oFS = CreateObject("Scripting.FileSystemObject")
 If oFS.FileExists(fileName) = True Then 
  Set aFile = oFS.GetFile(fileName)
  aFile.Delete
 end if
 set oFS = NOTHING

 xml=""
 
 xml=xml+""
 For i=1 to 10 'It writes 10 elements
   xml=xml+" "
 next
 xml=xml+""

 set oFS = CreateObject("Scripting.FileSystemObject")
 set oTextStream  = oFS.OpenTextFile(fileName, 8, True)
 oTextStream.WriteLine(xml)
 oTextStream.Close
 set oTextStream  = NOTHING
 set oFS = NOTHING
 xml=""

next

WSCript.Echo "OK Done"
WScript.Quit

mercoledì 11 giugno 2014

Cambio password di un utente con sql in MySQL

Con la riga di comando di mysql o da un client browser che punti su di un database MySQL è possibile cambiare la password ad un utente.
Ovviamente l'utenza abilitata alla shell mysql deve avere privilegi di amministratore (tipicamente l'utenza root).
Ad esempio sulla shell mysql, il comando per cambiare la password in 'mypassword' all utente 'root' del host 'localhost' è la seguente:

UPDATE mysql.user SET Password=PASSWORD('mypassword') WHERE User='root' AND Host='localhost';

martedì 10 giugno 2014

Nuove foto su Dreamstime

Ultimamente ho inviato diverse foto, fatte diversi anni fa e anche recenti, sul microstock Dreamstime e quasi tutte sono state approvate, uaooo questo è un buon segno per il fatto che con il tempo miglioro sempre di più nel fare foto e sistemare i colori.
Eh si ci vuole pazienza, passione, e con il tempo si fa esperienza; questo è il mio portfolio.
Se volete registrarvi questo è il link da utilizzare; avendo me come riferimento, qualche suggerimento ve lo posso dare ... ricordo che sono un amatore, non professionista;-)

"Dear Mauro Giordano, Congratulations, your images have been approved"...sound excellent! New photos on my Dreamstime portfolio here

domenica 8 giugno 2014

Una piccola app Android "su misura"?

Volete un piccola app Android "su misura" che faccia al caso vostro? Scrivetemi un email a "mau_gio[at]email.it" proponendo il contesto, tempo a disposizione, solo app oppure anche il codice e il budget a disposizione.

Do you want a small Android app "custom" for you? Write me an email to "mau_gio[at]email.it" proposing the context, time available and if you need only app or also the code, the available budget.

giovedì 5 giugno 2014

Power Pivot di Microsoft come strumento di analisi

Uno strumento molto buono che ho utilizzato in fase di analisi e post-rilascio di un software gestionale, è senza dubbio Power Pivot di Microsoft.
Ha qualche limitazione ovviamente ma è buono per interfacciarsi con un solo click con SqlServer dalla versione 2008 oppure MS Access e ricavare qualche statistica.
Lo considero un ottimo strumento di base per creare tabelle, grafici a partire da "script sql" creati manualmente o da viste presenti su database e avere dati aggiornati senza dover ricorrere a tools particolari.
È installabile come plugin di Microsoft Excel dalla versione 2010, bisogna solamente scaricare la versione più idonea (32/64 bit, inglese/italiano, Excel 2010/2013...), chiudere Excel, installare il software e far ripartire Excel.
Nelle immagini successive è rappresentato il plugin correttamente installato.

Excel plugin Power Pivot

Excel plugin Power Pivot

lunedì 2 giugno 2014

Inserimento testo su più righe contemporaneamente con Notepad++

Con l'editor Notepadd++ è possibile inserire del testo su più righe in maniera molto semplice.
Supponiamo di avere tre righe, come nell'esempio successiv,o e di inserire la frase "Inserimento di un testo contemporaneamente su più righe";
ora con il cursore ci posizioniamo sul primo carattere della prima riga, premiamo i tasti "Shift-Alt" e tasto "freccia giù"; a questo punto si vedranno 3 cursori lampeggiare; rilasciamo i tasti e scriviamo la frase.
Automaticamente verrà scritta sulle tre righe come nella figura successiva.
Premere il pulsante "Esc" oppure cliccare con il mouse sullo schermo per uscire dall'automatismo.

Notepad++ inserimento di più righe

Notepad++ inserimento di più righe