{"id":194,"date":"2021-02-08T19:27:54","date_gmt":"2021-02-08T19:27:54","guid":{"rendered":"https:\/\/okankaradag.com\/?p=194"},"modified":"2022-02-09T11:21:41","modified_gmt":"2022-02-09T11:21:41","slug":"asp-net-core-minio-kullanimi","status":"publish","type":"post","link":"https:\/\/okankaradag.com\/en\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi","title":{"rendered":"Asp.Net Core Mino Usage"},"content":{"rendered":"<h4 id=\"minio-nedir\">What is Minio?<\/h4>\n\n\n\n<p>MinIO is an Amazon S3 compatible server-side software storage, which stores image, video, log, files etc.<\/p>\n\n\n\n<h5 id=\"gelistirme-yaptigim-ortam\">Development Environment<\/h5>\n\n\n\n<ul><li>Windows 10<\/li><li>Asp.net Core 3.1<\/li><\/ul>\n\n\n\n<h5 id=\"minio-yu-yukleme-ve-ayaga-kaldirma-islemleri\">Installing and Running Operations<\/h5>\n\n\n\n<p class=\" translation-block\">We download minio from <a rel=\"noreferrer noopener\" href=\"https:\/\/dl.min.io\/server\/minio\/release\/windows-amd64\/minio.exe\" target=\"_self\">link<\/a>. The Link is for Windows, We look link  for macos and linux-like platforms, see this <a rel=\"noreferrer noopener\" href=\"https:\/\/min.io\/download#\/macos\" target=\"_self\">link<\/a>.<\/p>\n\n\n\n<p class=\" translation-block\">After downloading Minio, We run <strong>cmd<\/strong>from file location. We create folder named \"test\" in the folder where is \"minio.exe\".<\/p>\n\n\n\n<p>Minio's default username and password are \"minioadmin\". You can use following commands for change password<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:ps decode:true\">set MINIO_ROOT_USER=admin\nset MINIO_ROOT_PASSWORD=12345678<\/pre><\/div>\n\n\n\n<p>MinIo a\u015fa\u011f\u0131daki komut ile aya\u011fa kalkacakt\u0131r.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:ps decode:true\">minio.exe server \\test<\/pre><\/div>\n\n\n\n<p><strong>127.0.0.1:9000<\/strong> is Minio url<\/p>\n\n\n\n<h5 id=\"minio-ya-testbucket-adinda-bucket-ekliyoruz\">We add bucket named \"testbucket\" to minio<\/h5>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/Minio-Bucket-Nas\u0131l-Olusturulur-1024x499.png\" alt=\"\" class=\"wp-image-198\" width=\"966\" height=\"470\" srcset=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/Minio-Bucket-Nas\u0131l-Olusturulur-1024x499.png 1024w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/Minio-Bucket-Nas\u0131l-Olusturulur-300x146.png 300w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/Minio-Bucket-Nas\u0131l-Olusturulur-768x375.png 768w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/Minio-Bucket-Nas\u0131l-Olusturulur-1536x749.png 1536w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/Minio-Bucket-Nas\u0131l-Olusturulur.png 1919w\" sizes=\"(max-width: 966px) 100vw, 966px\" \/><\/figure><\/div>\n\n\n\n<h5 id=\"net-core-projelerinde-kullanimi\">Usage in .Net Core Projects<\/h5>\n\n\n\n<p class=\" translation-block\">Firstly, We install <strong>Amazon.S3<\/strong> package.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:ps decode:true\">Install-Package AWSSDK.S3<\/pre><\/div>\n\n\n\n<p class=\" translation-block\">We create minio settings in <strong>appsettings.json<\/strong><\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:js decode:true\"> \"MinioAccessInfo\": {\n    \"SecretKey\": \"admin\",\n    \"Password\": \"12345678\",\n    \"EndPoint\": \"http:\/\/127.0.0.1:9000\",\n    \"BucketName\": \"testbucket\"\n  }<\/pre><\/div>\n\n\n\n<p class=\" translation-block\">Let's write the service that will do the file <strong>upload<\/strong>and <strong>fetching<\/strong><\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:c# decode:true\"> public interface IFileOperation\n {\n     Task&lt;string&gt; UploadFile(IFormFile file);\n     string GetFile(string key);\n }<\/pre><\/div>\n\n\n\n<p class=\" translation-block\">Let's create the client with the relevant settings in the constructor of the <strong>FileOperation<\/strong>class.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:c# decode:true\">public class FileOperation:IFileOperation\n{\n     private IConfiguration Configuration { get; set; }\n     private ILogger&lt;FileOperation&gt; Logger { get; set; }\n     private string minioSecretkey =&gt; Configuration[\"MinioAccessInfo:SecretKey\"];\n     private string minIoPassword =&gt; Configuration[\"MinioAccessInfo:Password\"];\n     private string minIoEndPoint =&gt; Configuration[\"MinioAccessInfo:EndPoint\"];\n     private string bucketName =&gt; Configuration[\"MinioAccessInfo:BucketName\"];\n     private readonly AmazonS3Client _client;\n\n     public FileOperation(IConfiguration Configuration,ILogger&lt;FileOperation&gt; logger)\n     {\n          this.Configuration = Configuration;\n          this.Logger = logger;\n          var config = new AmazonS3Config\n          {\n              RegionEndpoint = RegionEndpoint.GetBySystemName(\"us-east-1\"),\n              ServiceURL = minIoEndPoint,\n              ForcePathStyle = true,\n              SignatureVersion = \"2\"\n          };\n          _client = new AmazonS3Client(minioSecretkey, minIoPassword, config);\n     }<\/pre><\/div>\n\n\n\n<h5 id=\"dosya-yukleme-metotu\">File Upload Function:<\/h5>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github toolbar:2 lang:c# decode:true\">public async Task&lt;string&gt; UploadFile(IFormFile file)\n{\n    var key = String.Empty;\n    try\n    {\n        key = Guid.NewGuid().ToString();\n        var stream = file.OpenReadStream();\n        var request = new PutObjectRequest()\n        {\n            BucketName = bucketName,\n            InputStream = stream,\n            AutoCloseStream = true,\n            Key = key,\n            ContentType = file.ContentType\n        };\n        var encodedFilename = Uri.EscapeDataString(file.FileName);\n        request.Metadata.Add(\"original-filename\", encodedFilename);\n        request.Headers.ContentDisposition = $\"attachment; filename=\\\"{encodedFilename}\\\"\";\n        await _client.PutObjectAsync(request);\n     }\n     catch (Exception e)\n     {\n         Logger.LogError(\"Error ocurred In UploadFileAsync\", e);\n     }\n     return key;\n}<\/pre><\/div>\n\n\n\n<p class=\" translation-block\">We set <strong>Guid<\/strong> to <strong>key<\/strong> because every file we upload must have a unique name<\/p>\n\n\n\n<h5 id=\"dosyayi-cagirma-metotu\">File Call Function:<\/h5>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:c# decode:true\">public string GetFile(string key)\n{\n    if (string.IsNullOrEmpty(key)) return null;\n\n    return _client.GetPreSignedURL(new GetPreSignedUrlRequest()\n    {\n        BucketName = bucketName,\n        Key = key,\n        Expires = DateTime.Now.AddMinutes(30)\n    });\n}<\/pre><\/div>\n\n\n\n<p>Let's create scope of the services in startup.cs<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"949\" height=\"251\" src=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/middleware-servis-kayd\u0131.png\" alt=\"\" class=\"wp-image-199\" srcset=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/middleware-servis-kayd\u0131.png 949w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/middleware-servis-kayd\u0131-300x79.png 300w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/middleware-servis-kayd\u0131-768x203.png 768w\" sizes=\"(max-width: 949px) 100vw, 949px\" \/><\/figure>\n\n\n\n<p>Let's make operations of file upload and view with a simple ui design.<\/p>\n\n\n\n<h5 id=\"entity\">Entity:<\/h5>\n\n\n\n<p>We create entity named \"File\".<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:c# decode:true\">public class File\n{\n    [Key]\n    public string Key { get; set; }\n    public string Name { get; set; }\n    public string ContentType { get; set; }\n}<\/pre><\/div>\n\n\n\n<h5 id=\"controller\">Controller:<\/h5>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:c# decode:true\">public async Task&lt;IActionResult&gt; Index()\n{\n    return View();\n}<\/pre><\/div>\n\n\n\n<h5 id=\"view\">View:<\/h5>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:asp decode:true\">@model MostUsedLibraries.Domain.ViewModels.FileUploadViewModel\n&lt;div class=&quot;panel&quot;&gt;\n    &lt;form enctype=&quot;multipart\/form-data&quot; method=&quot;post&quot; class=&quot;form&quot; action=&quot;&quot;&gt;\n        &lt;dl&gt;\n            &lt;dt&gt;\n                &lt;label asp-for=&quot;File&quot;&gt;&lt;\/label&gt;\n            &lt;\/dt&gt;\n            &lt;dd&gt;\n                &lt;input asp-for=&quot;File&quot; type=&quot;file&quot;&gt;\n            &lt;\/dd&gt;\n        &lt;\/dl&gt;\n        &lt;input asp-page-handler=&quot;Upload&quot; class=&quot;btn btn-success&quot; type=&quot;submit&quot; value=&quot;Dosyay\u0131 Sisteme Y&uuml;kle&quot;&gt;\n    &lt;input type=&quot;hidden&quot; name=&quot;trp-form-language&quot; value=&quot;en&quot;\/&gt;&lt;\/form&gt;\n&lt;\/div&gt;\n&lt;br \/&gt;\n&lt;br \/&gt;\n&lt;a class=&quot;btn btn-primary&quot; href=&quot;\/en\/home\/allImages\/&quot;&gt;Y&uuml;kl&uuml; Resimleri g&ouml;r&lt;\/a&gt;\n&lt;br \/&gt;\n&lt;br \/&gt;\n&lt;a class=&quot;btn btn-secondary&quot; href=&quot;\/en\/home\/allpdf\/&quot;&gt;Y&uuml;kl&uuml; Pdfleri g&ouml;r&lt;\/a&gt;<\/pre><\/div>\n\n\n\n<h5 id=\"post-controller\">Post Controller:<\/h5>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:c# decode:true\">[HttpPost]\npublic async Task&lt;IActionResult&gt; Index(IFormFile file)\n{\n    var key = await FileOperation.UploadFile(file);\n    var entity = new File\n    {\n        ContentType = file.ContentType,\n        Key =  key,\n        Name = file.FileName\n    };\n    Db.Add(entity);\n    Db.SaveChanges();\n    return View();\n}<\/pre><\/div>\n\n\n\n<p>With these actions, the files have been successfully uploaded.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:c# decode:true\">public IActionResult AllImages()\n{\n    var images = Db.Files.Where(f =&gt; f.ContentType == \"image\/png\").ToList();\n    var files = new List&lt;string&gt;();\n    images.ForEach(im =&gt; files.Add(FileOperation.GetFile(im.Key).Replace(\"https\",\"http\")));\n    return View(files);\n}\npublic IActionResult AllPdf()\n{\n    var images = Db.Files.Where(f =&gt; f.ContentType == \"application\/pdf\").ToList();\n    var files = new Dictionary&lt;string,string&gt;();\n    images.ForEach(im =&gt; files.Add(FileOperation.GetFile(im.Key), im.Name));\n    return View(files);\n}<\/pre><\/div>\n\n\n\n<p class=\" translation-block\">There are two ActionResults. <strong>AllImages()<\/strong> function displays <strong>png<\/strong> images, <strong>AllPdf()<\/strong> lists files whose type is pdf<\/p>\n\n\n\n<h5 id=\"allimages-view\">AllImages View:<\/h5>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:asp decode:true\">@model List&lt;string&gt;\n&lt;h3&gt;Y&uuml;kl&uuml; Resimler&lt;\/h3&gt;\n&lt;br \/&gt;\n@foreach (var item in Model)\n{\n    &lt;img src=&quot;@item&quot; alt=&quot;Alternate Text&quot; \/&gt;\n    &lt;br \/&gt;\n    &lt;br \/&gt;\n}<\/pre><\/div>\n\n\n\n<h5 id=\"allpdf-view\">AllPdf View:<\/h5>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"theme:github lang:asp decode:true\">@model Dictionary&lt;string, string&gt;\n&lt;h3&gt;Y&uuml;kl&uuml; Pdf listesi&lt;\/h3&gt;\n&lt;br \/&gt;\n@foreach (var item in Model)\n{\n    &lt;a href=&quot;\/en\/@item.Key.Replace(\/&quot;https&quot;,&quot;http&quot;)&quot;&gt;@item.Value&lt;\/a&gt;\n    &lt;br \/&gt;\n    &lt;br \/&gt;\n}<\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllImages-1024x554.png\" alt=\"\" class=\"wp-image-201\" width=\"965\" height=\"522\" srcset=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllImages-1024x554.png 1024w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllImages-300x162.png 300w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllImages-768x416.png 768w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllImages.png 1526w\" sizes=\"(max-width: 965px) 100vw, 965px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"536\" src=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllPdfs-1024x536.png\" alt=\"\" class=\"wp-image-202\" srcset=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllPdfs-1024x536.png 1024w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllPdfs-300x157.png 300w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllPdfs-768x402.png 768w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllPdfs-1536x804.png 1536w, https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/AllPdfs.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Ba\u015fka bir yaz\u0131da g\u00f6r\u00fc\u015fmek \u00fczere \ud83d\ude42<\/p>","protected":false},"excerpt":{"rendered":"<p>Minio Nedir? MinIO, Amazon S3 uyumlu server tarafl\u0131 bir yaz\u0131l\u0131m depolama arac\u0131d\u0131r, resim, video, log dosyalar\u0131, yedekleme vb. veri t\u00fcrlerini depolamaya yarar. Geli\u015ftirme yapt\u0131\u011f\u0131m ortam Windows 10 Asp.net Core 3.1 MinIo&#8217;yu y\u00fckleme ve aya\u011fa&#46;&#46;&#46;<\/p>","protected":false},"author":1,"featured_media":203,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[40,57,17],"tags":[58,56,60,59],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Asp.Net Core MinIo kullan\u0131m\u0131 - Okan Karada\u011f<\/title>\n<meta name=\"description\" content=\"Asp.Net Core 3.1&#039;de minIo nas\u0131l kullan\u0131l\u0131r? Minio ile dosya nas\u0131l y\u00fcklenir? Asp.net Core&#039;da resim nas\u0131l y\u00fcklenir?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/okankaradag.com\/en\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Asp.Net Core MinIo kullan\u0131m\u0131 - Okan Karada\u011f\" \/>\n<meta property=\"og:description\" content=\"Asp.Net Core 3.1&#039;de minIo nas\u0131l kullan\u0131l\u0131r? Minio ile dosya nas\u0131l y\u00fcklenir? Asp.net Core&#039;da resim nas\u0131l y\u00fcklenir?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/okankaradag.com\/en\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\/\" \/>\n<meta property=\"og:site_name\" content=\"Okan Karada\u011f\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-08T19:27:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-09T11:21:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/asp.net-core-logo-e1623756006486.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"167\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Okan Karada\u011f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Okan Karada\u011f\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi#article\",\"isPartOf\":{\"@id\":\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\"},\"author\":{\"name\":\"Okan Karada\u011f\",\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52\"},\"headline\":\"Asp.Net Core MinIo kullan\u0131m\u0131\",\"datePublished\":\"2021-02-08T19:27:54+00:00\",\"dateModified\":\"2022-02-09T11:21:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\"},\"wordCount\":343,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52\"},\"keywords\":[\"amazon-s3\",\"asp.net core\",\"dosya-y\u00fckleme\",\"minio\"],\"articleSection\":[\"Asp.Net Core\",\"Asp.Net Core 3.1\",\"C#\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\",\"url\":\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\",\"name\":\"Asp.Net Core MinIo kullan\u0131m\u0131 - Okan Karada\u011f\",\"isPartOf\":{\"@id\":\"https:\/\/okankaradag.com\/#website\"},\"datePublished\":\"2021-02-08T19:27:54+00:00\",\"dateModified\":\"2022-02-09T11:21:41+00:00\",\"description\":\"Asp.Net Core 3.1'de minIo nas\u0131l kullan\u0131l\u0131r? Minio ile dosya nas\u0131l y\u00fcklenir? Asp.net Core'da resim nas\u0131l y\u00fcklenir?\",\"breadcrumb\":{\"@id\":\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/okankaradag.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Asp.Net Core MinIo kullan\u0131m\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/okankaradag.com\/#website\",\"url\":\"https:\/\/okankaradag.com\/\",\"name\":\"Okan Karada\u011f\",\"description\":\"Programlama \u00dczerine\",\"publisher\":{\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/okankaradag.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52\",\"name\":\"Okan Karada\u011f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ca08a5537d7e304914c37189abedd2a1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ca08a5537d7e304914c37189abedd2a1?s=96&d=mm&r=g\",\"caption\":\"Okan Karada\u011f\"},\"logo\":{\"@id\":\"https:\/\/okankaradag.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/okankaradag.com\"],\"url\":\"https:\/\/okankaradag.com\/en\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Asp.Net Core MinIo kullan\u0131m\u0131 - Okan Karada\u011f","description":"Asp.Net Core 3.1'de minIo nas\u0131l kullan\u0131l\u0131r? Minio ile dosya nas\u0131l y\u00fcklenir? Asp.net Core'da resim nas\u0131l y\u00fcklenir?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/okankaradag.com\/en\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\/","og_locale":"en_US","og_type":"article","og_title":"Asp.Net Core MinIo kullan\u0131m\u0131 - Okan Karada\u011f","og_description":"Asp.Net Core 3.1'de minIo nas\u0131l kullan\u0131l\u0131r? Minio ile dosya nas\u0131l y\u00fcklenir? Asp.net Core'da resim nas\u0131l y\u00fcklenir?","og_url":"https:\/\/okankaradag.com\/en\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi\/","og_site_name":"Okan Karada\u011f","article_published_time":"2021-02-08T19:27:54+00:00","article_modified_time":"2022-02-09T11:21:41+00:00","og_image":[{"width":300,"height":167,"url":"https:\/\/okankaradag.com\/wp-content\/uploads\/2021\/02\/asp.net-core-logo-e1623756006486.png","type":"image\/png"}],"author":"Okan Karada\u011f","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Okan Karada\u011f","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi#article","isPartOf":{"@id":"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi"},"author":{"name":"Okan Karada\u011f","@id":"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52"},"headline":"Asp.Net Core MinIo kullan\u0131m\u0131","datePublished":"2021-02-08T19:27:54+00:00","dateModified":"2022-02-09T11:21:41+00:00","mainEntityOfPage":{"@id":"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi"},"wordCount":343,"commentCount":0,"publisher":{"@id":"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52"},"keywords":["amazon-s3","asp.net core","dosya-y\u00fckleme","minio"],"articleSection":["Asp.Net Core","Asp.Net Core 3.1","C#"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi#respond"]}]},{"@type":"WebPage","@id":"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi","url":"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi","name":"Asp.Net Core MinIo kullan\u0131m\u0131 - Okan Karada\u011f","isPartOf":{"@id":"https:\/\/okankaradag.com\/#website"},"datePublished":"2021-02-08T19:27:54+00:00","dateModified":"2022-02-09T11:21:41+00:00","description":"Asp.Net Core 3.1'de minIo nas\u0131l kullan\u0131l\u0131r? Minio ile dosya nas\u0131l y\u00fcklenir? Asp.net Core'da resim nas\u0131l y\u00fcklenir?","breadcrumb":{"@id":"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/okankaradag.com\/asp-net\/asp-net-core\/asp-net-core-minio-kullanimi#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/okankaradag.com\/"},{"@type":"ListItem","position":2,"name":"Asp.Net Core MinIo kullan\u0131m\u0131"}]},{"@type":"WebSite","@id":"https:\/\/okankaradag.com\/#website","url":"https:\/\/okankaradag.com\/","name":"Okan Karada\u011f","description":"Programlama \u00dczerine","publisher":{"@id":"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/okankaradag.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/okankaradag.com\/#\/schema\/person\/0196919c5e3b6a496101ded872640d52","name":"Okan Karada\u011f","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/okankaradag.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ca08a5537d7e304914c37189abedd2a1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ca08a5537d7e304914c37189abedd2a1?s=96&d=mm&r=g","caption":"Okan Karada\u011f"},"logo":{"@id":"https:\/\/okankaradag.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/okankaradag.com"],"url":"https:\/\/okankaradag.com\/en\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/posts\/194"}],"collection":[{"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":11,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":635,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/posts\/194\/revisions\/635"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/media\/203"}],"wp:attachment":[{"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/okankaradag.com\/en\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}