1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
| private void button1_Click(object sender, RoutedEventArgs e)
{
this.textBlock2.Text = string.Empty;
OpenFileDialog openFIleDialog = new OpenFileDialog();
openFIleDialog.Filter = "All Image Files ( JPEG,GIF,BMP,PNG)|*.jpg;*.jpeg;*.gif;*.bmp;*.png|JPEG Files ( *.jpg;*.jpeg )|*.jpg;*.jpeg|GIF Files ( *.gif )|*.gif|BMP Files ( *.bmp )|*.bmp|PNG Files ( *.png )|*.png";
openFIleDialog.FilterIndex = 1;
openFIleDialog.Multiselect = false;
string str = string.Empty;
if (openFIleDialog.ShowDialog() == true)
{
Busy.IsBusy = true;
foreach (var file in openFIleDialog.Files)
{
using (Stream fileStream = GetFileData(file.OpenRead()))
{
// sequence resizing
DecodedJpeg origJpeg = new JpegDecoder(fileStream).Decode();
if (ImageResizer.ResizeNeeded(origJpeg.Image, 1024))
{
//resize de l'image
DecodedJpeg resizedJpeg = new DecodedJpeg(new ImageResizer(origJpeg.Image).Resize(1024, ResamplingFilters.NearestNeighbor), origJpeg.MetaHeaders);
//Encodage de resized image
MemoryStream resizedStream = new MemoryStream();
new JpegEncoder(resizedJpeg, 100, resizedStream).Encode();
//Read resized stream to byte array
//resizedStream.Seek(0, SeekOrigin.Begin);
StreamResourceInfo streamResourceFile = new StreamResourceInfo(resizedStream, null);
byte[] data = new byte[streamResourceFile.Stream.Length];
//resizedStream.Read(data, 0, Convert.ToInt32(resizedStream.Length));
streamResourceFile.Stream.Read(data, 0, (int)streamResourceFile.Stream.Length);
str = Convert.ToBase64String(data);
}
else
{
//Read original stream to byte array
fileStream.Seek(0, SeekOrigin.Begin);
//data = new byte[fileStream.Length];
StreamResourceInfo streamResourceFile = new StreamResourceInfo(fileStream, null);
byte[] data = new byte[streamResourceFile.Stream.Length];
fileStream.Read(data, 0, Convert.ToInt32(fileStream.Length));
streamResourceFile.Stream.Read(data, 0, (int)streamResourceFile.Stream.Length);
str = Convert.ToBase64String(data);
}
WebClient oWebClient = new WebClient();
string fileName = Guid.NewGuid().ToString().Replace("-", "") + file.Extension;
oWebClient.UploadStringAsync(new Uri("http://localhost:49377/Uploader.ashx?file=" + fileName), null, str, fileName);
oWebClient.UploadProgressChanged += new UploadProgressChangedEventHandler(oWebClient_UploadtxtProgressChanged);
totalFilesToUpload += 1;
str = string.Empty;
}
}
}
}
System.IO.MemoryStream GetFileData(System.IO.Stream oFileStream)
{
oFileStream.Seek(0, System.IO.SeekOrigin.Begin);
byte[] data = new byte[oFileStream.Length];
oFileStream.Read(data, 0, (int)oFileStream.Length);
return new System.IO.MemoryStream(data);
}
void oWebClient_UploadtxtProgressChanged(object sender, UploadProgressChangedEventArgs e)
{
totalFilesUploaded += 1;
textBlock2.Text = !string.IsNullOrEmpty(textBlock2.Text) ? (int.Parse(textBlock2.Text) + e.BytesSent).ToString() : e.BytesSent.ToString();
if (totalFilesUploaded == totalFilesToUpload)
{
textBlock2.Text = totalFilesUploaded + " files uploaded successfully (" + textBlock2.Text + " bytes sent )";
}
Busy.IsBusy = false;
} |
Partager