İşte tam bu noktada cloudinary derdimize derman olabilir. free olarak belli bir boyuta izin veriyor. örneğin 4 binlik bir resim üzerinden deneme yaptığımda ücretsiz kısmı hiç sorun cıkarmadı. öncelikle sisteme üye olmanız gerekiyor. daha sonra mail adresinize gelen doğrulama kodu ile doğrulayın yoksa çalışmıyor.
link: https://cloudinary.com
Cloudinary sistemini daha önce ubuntu -Rubyonrails tarafında kullandım ve bu blog altında ufak tefek şeyler paylaşmıştım. aynı işlemi .net ortamında yeniden kullanmak için ufak bir deneme yaptım.
visual studio 2017 platformunda yeni bir proje açalım.
yeni açtığımız projeye nuget yardımı ile CloudinaryDotNet kütüphanesini ekleyelim.
Formumuza bir buton bir label ve picturebox ekleyelim. Butona tıkladığımızda seçtiğimiz resmi cloudinarye yukledikten sonra oluşan url yi pictureboxta göstermesini istiyorum
butonun click özelliğine gidip komutlarımı yazmaya başlayalım.
kullanacağımız kütüphanelerimizi ekleyelim:
using CloudinaryDotNet;
using CloudinaryDotNet.Actions;
using System.Net;
using System.IO;
Clodinary hesap bilgilerimizi aşağıdaki alanlara yazın. her hesabın kendisine ait id secret bilgileri vardır. Cloudinary hesabınıza girdiğinizde Account Details kısmında yer alır.
Account account = new Account(
"my_cloud_name", "my_api_key","my_api_secret");
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.Title = "Resim Seçiniz..";
if (file.ShowDialog() == DialogResult.OK)
{
Cloudinary cloudinary = new Cloudinary(account);
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(file.FileName)
};
var uploadResult = cloudinary.Upload(uploadParams);
label2.Text = uploadResult.SecureUri.AbsoluteUri;
WebRequest req = WebRequest.Create(uploadResult.SecureUri.AbsoluteUri);
WebResponse res = req.GetResponse();
Stream imgStream = res.GetResponseStream();
Image img1 = Image.FromStream(imgStream);
imgStream.Close();
pictureBox1.Image = img1;
}
Çalıştırıp bakalım:
Resmimiz yüklendi. Bu işlem tek başına ifade etmeyebilir. Fakat , örneğin bir program yazdığınızda kullanıcıların profil resimlerini tutmak isteyebilirsiniz . bu durumda her kullanıcının resmini veritabanında tutmak yerine veritabanında profile_url alanı açıp, cloudinary'e yuklenen resimlerin url adreslerini bu alana kaydedebilirsiniz.
1 yorum:
Teşekkürler Esra Hanım, güzel anlatım olmuş.
Yorum Gönder