//private void Page_Loaded(object sender, EventArgs e) //{ // // Grab SynchronizationContext while on UI Thread // syncContext = SynchronizationContext.Current; // // Create request // HttpWebRequest request = WebRequest.Create("http://msite.com/myFeed") as HttpWebRequest; // request.Method = "POST"; // request.Headers["x-custom-header"] = "value"; // // Make async call for request stream. Callback will be called on a background thread. // IAsyncResult asyncResult = request.BeginGetRequestStream(new AsyncCallback(RequestStreamCallback), request); //} //private void UploadBinaryFile(byte[] fileBits) //{ // string url = "http://chuckconway.com/gallery/photoupload.ashx"; // HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url)); // request.ContentType = "application/octet-stream"; // request.Method = "POST"; // IAsyncResult asyncResult = request.BeginGetRequestStream(new AsyncCallback(RequestStreamCallback), request); //} //string chuck = "chuck"; // using(Stream requestStream = request.EndGetRequestStream(ar)) // { // requestStream.Write( // } // StreamWriter streamWriter = new StreamWriter(requestStream); // streamWriter.Write("<?xml version="1.0"?>" // + "<entry xmlns="http://www.w3.org/2005/Atom">" // + "<author>" // + "<name>Elizabeth Bennet</name>" // + "<email>[email protected]</email>" // + "</author>" // + "<title type="text">Entry 1</title>" // + "<content type="text">This is my entry</content>" // + "</entry>"); // streamWriter.Close(); //// Make async call for response. Callback will be called on a background thread. // request.BeginGetResponse(new AsyncCallback(ResponseCallback), request); //} //private void ResponseCallback(IAsyncResult ar) //{ // HttpWebRequest request = ar.AsyncState as HttpWebRequest; // WebResponse response = request.EndGetResponse(ar); // // Invoke onto UI thread // syncContext.Post(ExtractResponse, response); // // use response. Could include reading response stream. //} //private void ExtractResponse(object state) //{ // HttpWebResponse response = state as HttpWebResponse; // // use response. Could include reading response stream. //} //private void OpenConnection() //{ // using (SocketClient client = new SocketClient("chuckconway.com", 80)) // { // client. // } //} //private void OnSocketConnectCompleted(object sender, SocketAsyncEventArgs e) //{ // byte[] response = new byte[1024]; // e.SetBuffer(response, 0, response.Length); // e.Completed -= new EventHandler<SocketAsyncEventArgs>(OnSocketConnectCompleted); // //e.Completed += new EventHandler<SocketAsyncEventArgs>(OnSocketReceive); // Socket socket = (Socket)e.UserToken; // socket.ReceiveAsync(e); //} /// <summary> /// Handles the Click event of the uploadButton control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.Windows.RoutedEventArgs"/> instance containing the event data.</param> private void uploadButton_Click(object sender, RoutedEventArgs e) { //WebClient client = new WebClient(); //string url = "http://chuckconway.com/gallery/photoupload.ashx"; PhotoServiceSoapClient service = new PhotoServiceSoapClient(); service.UploadCompleted += (service_UploadCompleted); //check for selected gallery, if none selected prompt the user to select a gallery. if (galleryListBox.SelectedItem != null && uploadListBox.Items.Count > 0) { CalculateProgressbar(); foreach (object image in uploadListBox.Items) { ClientImage clientImage = (ClientImage)image; string extension = File.GetFileExtension(clientImage.ImageName); byte[] bytes = File.GetByteArrayFromStream(clientImage.FileInfo.OpenRead()); //Upload the photos service.UploadAsync(userToken, bytes, clientImage.GalleryId, extension); } } else { //if there is no gallery selected then show the gallery error message //otherwise the problem must be no photos in the upload listbox uploadErrorMessage.Text = (galleryListBox.SelectedItem == null ? "Please select a gallery." : "Please choose a photo to upload."); } }
public async Task GetQueryGallery(string name) { try { FavouriteImage.main(); var imageCount = 0; if (_imageGallery.Count == 0) { var client = new ImgurClient(_clientId); var endpoint = new GalleryEndpoint(client); var tmpGallery = await endpoint.SearchGalleryAsync(name); _imageGallery = tmpGallery.ToList(); } foreach (IGalleryItem img in _imageGallery) { var galleryAlbum = img as IGalleryAlbum; if (galleryAlbum != null) { foreach (IImage albumImage in ((IGalleryAlbum)img).Images) { Debug.WriteLine("Album Image: " + albumImage.Link + " " + albumImage.Id); imageCount += 1; if (albumImage.Link.Contains(".gif")) { continue; } Uri imageUri = new Uri(albumImage.Link); var newImage = new ClientImage(new BitmapImage(imageUri), albumImage.Id, true); _imagelist.Add(newImage); } } else { var galleryImage = img as IGalleryImage; imageCount += 1; if (galleryImage.Link.Contains(".gif")) { continue; } Debug.WriteLine("Image: " + galleryImage.Link); Uri imageUri = new Uri(galleryImage.Link); var newImage = new ClientImage(new BitmapImage(imageUri), galleryImage.Id, false); _imagelist.Add(newImage); } } } catch (ImgurException imgurEx) { Debug.Write("An error occurred getting an image from Imgur."); Debug.Write(imgurEx.Message); } }
public IActionResult Create(ClientCreateViewModel model) { string[] validImageTypes = new string[] { "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; // Check on null or zero length file if (model.ImageUpload == null || model.ImageUpload.Length == 0) { ModelState.AddModelError("ImageUpload", "Изображение не может быть пустым"); } // Check on image file else if (!validImageTypes.Contains(model.ImageUpload.ContentType)) { ModelState.AddModelError("ImageUpload", "Изображение должно быть в формате JPG, GIF или PNG"); } // Create new Client if (ModelState.IsValid) { // Add new Client Client client = new Client { Name = model.Name, ShortDescription = model.ShortDescription, Description = model.Description, HttpUrl = model.HttpUrl }; // Add Client's Image // Copy File To Server string pathDir = _optionsAccessor.Value.ClientImages; string pathFileName = Guid.NewGuid().ToString(); string pathFileExt = Path.GetExtension(model.ImageUpload.FileName); _filesHelper.Copy(pathDir, pathFileName + pathFileExt, model.ImageUpload); // Add related record - reference on file, in Database ClientImage clientImage = new ClientImage { IsPoster = true, Path = @"\" + pathDir + pathFileName + pathFileExt }; client.ClientImages.Add(clientImage); _context.Set <Client>().Add(client); return(RedirectToAction("Index")); } // If Model is not valid return(View(model)); }
/// <summary> /// Adds the items. /// </summary> /// <param name="files">The files.</param> private void AddItems(IEnumerable <FileInfo> files) { foreach (FileInfo item in files) { Gallery gallery = ((Gallery)galleryListBox.SelectedItem); ClientImage image = new ClientImage { FileInfo = item, ImageName = item.Name, GalleryName = gallery.Name, GalleryId = gallery.GalleryId }; uploadListBox.Items.Add(image); } }
/// <summary> /// Adds the items. /// </summary> /// <param name="files">The files.</param> private void AddItems(OpenFileDialog files) { Stream[] fileStreams = files.OpenFiles(); for (int index = 0; index < files.FileNames.Length; index++) { Gallery gallery = ((Gallery)galleryListBox.SelectedItem); ClientImage image = new ClientImage { ImageName = TruncatePath(files.FileNames[index]), GalleryName = gallery.Name, GalleryId = gallery.GalleryID, PhotoBytes = GetByteArrayFromStream(fileStreams[index]) }; uploadListBox.Items.Add(image); } }
private void uploadButton_Click(object sender, RoutedEventArgs e) { // PhotoServiceSoapClient service = new PhotoServiceSoapClient(); //check for selected gallery, if none selected prompt the user to select a gallery. if (galleryListBox.SelectedItem != null && uploadListBox.Items.Count > 0) { List <ClientImage> images = new List <ClientImage>(); foreach (object image in uploadListBox.Items) { ClientImage clientImage = (ClientImage)image; images.Add(clientImage); } Uploader upload = new Uploader(images); upload.FileUploadComplete += new FileUploadCompletedEventHandler(upload_FileUploadComplete); upload.Upload(); //CalculateProgressbar(); //foreach (object image in uploadListBox.Items) //{ // ClientImage clientImage = (ClientImage)image; // images.Add(clientImage); // //string extension = Path.GetExtension(clientImage.ImageName); // ////Upload the photos // //service.Upload(Client.Default.token, clientImage.PhotoBytes, clientImage.GalleryId, extension); // //UploadComplete(); //} } else { //if there is no gallery selected then show the gallery error message //otherwise the problem must be no photos in the upload listbox uploadErrorMessage.Text = (galleryListBox.SelectedItem == null ? "Please select a gallery." : "Please choose a photo to upload."); } }
public async Task getFavorites() { try { var client = new ImgurClient(MainPage._clientId, MainPage.userToken); var endpoint = new AccountEndpoint(client); var favourites = await endpoint.GetAccountFavoritesAsync(); foreach (IGalleryItem img in favourites) { var galleryAlbum = img as IGalleryAlbum; if (galleryAlbum != null) { foreach (IImage albumImage in galleryAlbum.Images) { Debug.WriteLine("Album Image: " + albumImage.Link + " " + albumImage.Id); Uri imageUri = new Uri(albumImage.Link); var newImage = new ClientImage(new BitmapImage(imageUri), albumImage.Id, true); _favouriteList.Add(newImage); } } else { var galleryImage = img as IGalleryImage; Debug.WriteLine("Image: " + galleryImage.Link); Uri imageUri = new Uri(galleryImage.Link); var newImage = new ClientImage(new BitmapImage(imageUri), galleryImage.Id, false); _favouriteList.Add(newImage); } } } catch (ImgurException imgurEx) { Debug.Write("An error occurred getting an image from Imgur."); Debug.Write(imgurEx.Message); } catch (System.ArgumentNullException e) { Debug.WriteLine("An error occurred getting an image from Imgur." + e.Message); } }
void ReleaseDesignerOutlets() { if (ClientImage != null) { ClientImage.Dispose(); ClientImage = null; } if (PicPageControl != null) { PicPageControl.Dispose(); PicPageControl = null; } if (PictureScrollView != null) { PictureScrollView.Dispose(); PictureScrollView = null; } if (PictureView != null) { PictureView.Dispose(); PictureView = null; } if (ProgressRing != null) { ProgressRing.Dispose(); ProgressRing = null; } if (WelcomeLabel != null) { WelcomeLabel.Dispose(); WelcomeLabel = null; } }
public IActionResult Edit(ClientEditViewModel model) { if (ModelState.IsValid) { string[] validImageTypes = new string[] { "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; // Find existed Client by Id Client client = _context.Set <Client>() .FindBy(c => c.ClientId == new Guid(model.ClientId)) .Include(cl => cl.ClientImages) .FirstOrDefault(); if (client != null) { // Update Client's Properties client.Name = model.Name; client.ShortDescription = model.ShortDescription; client.Description = model.Description; client.HttpUrl = model.HttpUrl; } else { return(NotFound($"Клиент с id: {model.ClientId} не найден")); } //// Check on null or zero length file if (model.ImageUpload != null && model.ImageUpload.Length > 0) { if (validImageTypes.Contains(model.ImageUpload.ContentType)) { // Remove existed File from Server string pathDir = _optionsAccessor.Value.ClientImages; string pathExistedFile = client.ClientImages.FirstOrDefault()?.Path.Substring(1); if (!string.IsNullOrEmpty(pathExistedFile)) { _filesHelper.Delete(pathExistedFile); } // Copy New File to Server string pathNewFileName = Guid.NewGuid().ToString(); string pathNewFileExt = Path.GetExtension(model.ImageUpload.FileName); string pathNewFile = pathDir + pathNewFileName + pathNewFileExt; _filesHelper.Copy(pathDir, pathNewFileName + pathNewFileExt, model.ImageUpload); // SYNC changes to Database ClientImage clientNewImage = new ClientImage { IsPoster = true, Path = @"\" + pathDir + pathNewFileName + pathNewFileExt }; // Find existed image ClientImage clientExistedImage = client.ClientImages.FirstOrDefault(); // Remove previous image if (clientExistedImage != null) { client.ClientImages.Remove(clientExistedImage); } client.ClientImages.Add(clientNewImage); } //// Update DB _context.Set <Client>().Update(client, new Guid(model.ClientId)); return(RedirectToAction("Index")); } else { ModelState.AddModelError("ImageUpload", "Файл пустой или не в формате JPG, GIF или PNG"); } } // If Model has errors return(View(model)); }