C# webaplikacja ASP.NET, Przesyłanie plików na serwer – przykład i tutorial

1. W projekcie tworzysz nowy folder, przykładowo „resources”, tam będą trafiać pliki przesyłane przez aplikację kliencką.

2. Natomiast na stronie aspx umieszczasz następujący kod (opakowany w <form>). Jest to bardzo ważne, aby kod znajdował się w formie z akcją “post” oraz ustawionym atrybutem enctype

<form id=”adminForm” runat=”server” method=”post” name=”adminForm” enctype=”multipart/form-data” >
<input type=file id=File1 name=File1 runat=”server” /><font> (Maksymalny rozmiar pliku: 4 MB)</font>
<br>
<asp:button type=”submit” id=”Submit1″ Text=”Wyślij plik” runat=”server” ToolTip=”Prześlij wskazany plik jako dodatek do szczegółów wydarzenia” onclick=”Submit1_ServerClick” />

3. Następnie do przycisku Submit1 dołączasz następującą akcję w odpowiadającym pliku .cs

protected void Submit1_ServerClick(object sender, System.EventArgs e)
{
TextBox id_tb = (FormView1.FindControl(“idTextBox”) as TextBox);
String id_due_path = id_tb.Text;
System.IO.Directory.CreateDirectory(Server.MapPath(“resources”) + “\\” + id_due_path + “\\”);
if ((File1.PostedFile != null) && (File1.PostedFile.ContentLength > 0))
{
string fn = System.IO.Path.GetFileName(File1.PostedFile.FileName);
string SaveLocation = Server.MapPath(“resources”) + “\\” + id_due_path + “\\” + fn;
try
{
File1.PostedFile.SaveAs(SaveLocation);
Console.WriteLine(“The file has been uploaded.”);
Response.Write(“The file has been uploaded.”);
}
catch (Exception ex)
{
Response.Write(“Error: ” + ex.Message);
Console.WriteLine(“Error: ” + ex.Message);
//Note: Exception.Message returns a detailed message that describes the current exception.
//For security reasons, we do not recommend that you return Exception.Message to end users in
//production environments. It would be better to put a generic error message.
}
}
else
{
Response.Write(“Please select a file to upload.”);
Console.WriteLine(“Please select a file to upload.”);
}
}

4. Violla, można przesyłać pliki na serwer (domyślny limit to 4MB)

Więcej szczegółów tutaj: (świetny artykuł)

Advertisements

Jak w kodzie dodać kontrolki w .NET 3.5 (WPF) ?

Jak w kodzie dodać kontrolki w .NET 3.5 (WPF) ?

W pracy dyplomowej mam funkcjonalność do zaimplementowania – mapa stolików w restauracji. Na mapie stolików wykonanej w AutoCAD nakładam przyciski, więc wczytuje z pliku XML położenia moich stolików na mapie bitowej (wysokość i szerokość w pikselach), po czym właśnie w tym miejscu dodaję nową kontrolkę – button, posiadającą handler dla Click.

foreach (Seat seat in seats)

{

System.Windows.Controls.Button button = new Button();

button.Content = seat.Sala + “-“ + seat.Stolik;

//ustawienie pozycji przycisku

button.Width = 40;

button.Height = 40;

Thickness thick = new Thickness();

thick.Left = seat.Width + 160;

thick.Top = seat.Height + 20;

thick.Right = 0;

thick.Bottom = 0;

button.Margin = thick;

// ulozenie

button.HorizontalAlignment = HorizontalAlignment.Left;

button.VerticalAlignment = VerticalAlignment.Top;

// przypisanie akcji przyciskowi

button.Click += new RoutedEventHandler(newButt_Click);

// koloryzacja

button.IsEnabled = false;

button.Background = buttonBrushes[2];

// dodanie do layoutu

{… implementacja …}

if (seat.Sala == Image.selected + 1) LayoutRoot.Children.Add(button);

}

}

private void newButt_Click(object sender, RoutedEventArgs e)

{

Button button = (Button)sender;

if (button.Background.Equals(buttonBrushes[3]))

{

// odzaznaczenie rezerwacji w przypadku edycji

}

{…kod implementacji…}

}

Polecam lekturę:

http://arcanecode.wordpress.com/2007/09/07/adding-wpf-controls-progrrammatically/