Provides implementation for the upload of differents files.
public class FileUploader: Object, IDisposable
ObjectFileUploader
// This examples shows how to create and initialize a FileUploader and a FileUploaderDialog.
// It shows also some properties and method of these two classes.
/*
Uploader sample
This sample needs a target upload url.
Associated myupload.php code in this test: (put it on your server)
<?php
$file= $_FILES['Filedata'];
$name= $file['name']; // e.g. "image.jpg"
$file_mime_type= $file['type']; // application/octet-stream
$error= $file['error']; // 0 if none
$size= $file['size'];
$tmp_pathname= $file['tmp_name'];
mkdir( "/tmp/my_uploaded_files" );
move_uploaded_file( $tmp_pathname, "/tmp/my_uploaded_files/$name" );
?>
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Diagnostics;
using System.Net;
namespace Uploader
{
public class Form1 : Form
{
private TextBox url;
private Button select;
private Button start;
private Button abort;
private TextBox log;
// Creates a FileUploader and the FileUploaderDialog associated with.
private FileUploaderDialog dialog = null;
private FileUploader uploader= null;
public Form1()
{
InitializeComponent();
}
private void InitializeComponent()
{
url= new TextBox();
select= new Button();
start= new Button();
abort= new Button();
log= new TextBox();
url.Location= new Point(20, 20);
url.Text= "http://myserver/myupload.php";
url.TextChanged += new EventHandler(on_text_changed
);
select.Location= new Point(20,url.Bottom+5);
select.Click += new EventHandler(on_select);
start.Location= new Point(select.Right,url.Bottom+5);
start.Click += new EventHandler(on_start);
abort.Location= new Point(start.Right+10,start.Top);
abort.Click += new EventHandler(on_abort);
log.Location= new Point(url.Left,abort.Bottom+10);
log.Size= new Size( url.Width, 180 );
log.ScrollBars= ScrollBars.Vertical;
}
void on_text_changed( object sender, EventArgs e )
{
select.Enabled= url.TextLength > 0;
}
void on_select( object sender, EventArgs e )
{
dialog= new FileUploaderDialog();
dialog.Closed += new EventHandler(on_dialog_closed);
string filter= "";
filter += "Text files (*.txt)|*.txt";
filter += "|";
filter += "JPEG files (*.jpg;*.jpeg)|*.jpg;*.jpeg";
filter += "|";
filter += "PNG Portable Network Graphics (*.png)|*.png";
filter += "|";
filter += "All files (*.*)|*.*";
bool outcome= dialog.ShowDialog();
if( ! outcome )
{
print_msg("*** dialog.show() failed");
return;
}
}
void on_dialog_closed( object sender, EventArgs e )
{
{
dialog= null;
return;
}
dialog= null;
print_msg( "Selected file:\n"
+" Size: "+uploader.ContentLength+" bytes\n"
+" Speed: "+uploader.Speed+"\n"
+" CreationDate: "+uploader.CreationDate+"\n"
+" ModificationDate: "+uploader.ModificationDate+"\n" );
}
void on_start( object sender, EventArgs e )
{
uploader.StateChanged += new EventHandler(on_state_changed);
print_msg("Uploading file "+uploader.Name+" to url "+url.Text);
bool outcome= uploader.Start(url.Text);
if( ! outcome )
{
print_msg("*** uploader.Start() failed");
return;
}
}
void print_msg( string msg )
{
Debug.WriteLine(msg);
}
void on_state_changed( object sender, EventArgs e )
{
FileUploader uploader= (FileUploader) sender;
{
case FileUploaderState.Started:
print_msg("Upload process has been started" );
break;
case FileUploaderState.Initiating:
print_msg("Initiating network connection");
break;
case FileUploaderState.Uploading:
print_msg("Uploading "+uploader.UploadedSize+"/"+uploader.ContentLength+" ="+uploader.UploadedPercentage+"% ("+uploader.Speed+" bytes/s)" );
break;
case FileUploaderState.Aborted:
print_msg("Uploading has been aborted");
reset();
break;
case FileUploaderState.IOError:
print_msg("IO Error occurred");
reset();
break;
case FileUploaderState.SecurityError:
print_msg("Security Error occurred");
reset();
break;
case FileUploaderState.HttpError:
print_msg("Http Error occurred: status code = "+uploader.HttpStatusCode);
reset();
break;
case FileUploaderState.Completed:
print_msg("Uploading Completed: "+uploader.ContentLength+" bytes");
reset();
break;
}
}
void on_abort( object sender, EventArgs e )
{
if( uploader == null )
return;
reset();
}
void reset()
{
uploader= null;
}
static void Main()
{
Application.Run( new Form1() );
}
}
}
Namespace System.Net Flash Library System.scl Flash Library Version 2.0.0.1308 Silverlight Library System.Windows.Forms.dll
| © 2003-2007 NETiKA Technologies. All rights reserved. |