﻿
{"id":1354,"date":"2013-02-01T00:31:57","date_gmt":"2013-02-01T00:31:57","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=1354"},"modified":"2013-02-01T08:41:41","modified_gmt":"2013-02-01T08:41:41","slug":"mvc-4-0-fileupload","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/mvc-4-0-fileupload\/","title":{"rendered":"MVC 4.0 FileUpload"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Asp.NET&#8217;ten sonra Asp.NET MVC&#8217;de FileUpload nesnesinin i\u015flevlerini yapmakta azda olsa zorluk \u00e7ekiyoruz.E\u011fer bu yaz\u0131y\u0131 okuyorsan\u0131z b\u00fcy\u00fck ihtimal bu konuda benim tak\u0131ld\u0131\u011f\u0131m baz\u0131 noktalara sizlerde tak\u0131lm\u0131\u015fs\u0131n\u0131zd\u0131r.Bence i\u00e7inizi ferah tutun.Bu konuda ki s\u0131k\u0131nt\u0131m\u0131 ben halledebildiysem, emin olun sizin s\u0131k\u0131nt\u0131n\u0131z\u0131n cevab\u0131n\u0131 da bu yaz\u0131mda vermi\u015f olaca\u011f\u0131m.<br \/>\n<!--more--><br \/>\nMVC projelerinde FileUpload nesnesi ne yaz\u0131k ki mevcut de\u011fil.Ziyan\u0131 yok.Html kontrol\u00fc kullanarak FileUpload nesnesini projemize eklemi\u015f oluyoruz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n@using (Html.BeginForm(&quot;ActionAdi&quot;, &quot;ControllerAdi&quot;, FormMethod.Post, new { enctype = &quot;multipart\/form-data&quot;  }))\r\n{\r\n                &lt;input type=&quot;file&quot; name=&quot;uploadFile&quot; \/&gt;\r\n                &lt;input type=&quot;submit&quot; value=&quot;Ekle&quot;&gt;\r\n}\r\n<\/pre>\n<p>Yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, bir File ve Submit nesnesi mevcut.Burada File nesnesiyle se\u00e7ilen dosyaya, Controller katman\u0131nda ula\u015fmak ger\u00e7ekten \u00e7ok s\u0131k\u0131c\u0131 bir durumdu benim i\u00e7in.Birazdan g\u00f6rece\u011fimiz y\u00f6ntem neticesinde &#8220;NULL&#8221; sonucunu almak \u00e7ok sinirlerimi geriyordu.\u015eimdi sizlere buradan p\u00fcf noktalar\u0131 vermeye ba\u015flayay\u0131m.<\/p>\n<p>E\u011fer File nesneniz ile se\u00e7ti\u011finiz elemana Controller katman\u0131nda rahat bir \u015fekilde ula\u015fabilmek istiyorsan\u0131z e\u011fer, Html.BeginForm() metodu i\u00e7indeki parametreler yukar\u0131da g\u00f6z\u00fckt\u00fc\u011f\u00fc gibi olmal\u0131d\u0131r.Tabi burada kast\u0131m, Action ve Controller adlar\u0131n\u0131n do\u011frusunu yazman\u0131z.<\/p>\n<p>Bir ba\u015fka t\u00fcyo, File nesnemizin &#8220;name&#8221; \u00f6zelli\u011fi \u00e7ok \u00f6nemli.Neden mi?A\u015fa\u011f\u0131daki kodu inceleyin.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        &#x5B;HttpPost]\r\n        public ActionResult Metod(HttpPostedFileBase uploadFile, Teknolojiler Teknoloji)\r\n        {\r\n         ...\r\n        }\r\n<\/pre>\n<p>Dikkat ettiniz mi?&#8221;HttpPost&#8221; Attribute&#8217;uyla i\u015faretlenmi\u015f &#8220;Metod&#8221; ismindeki Action&#8217;\u0131m\u0131za &#8220;HttpPostedFileBase&#8221; tipinden bir parametre ekledik ve bu parametrenin ad\u0131 da File nesnemizin &#8220;name&#8221; \u00f6zelli\u011fiyle ayn\u0131.<\/p>\n<p>Demek oluyor ki, bu \u015fartlar d\u00f6rt d\u00f6rtl\u00fck, hatas\u0131z, istinas\u0131z ger\u00e7ekle\u015fince, &#8220;HttpPostedFileBase&#8221; tipinden olan parametremiz, File nesnemizin eleman\u0131n\u0131 &#8220;Post&#8221; durumunda yakalayabiliyor.<\/p>\n<p>\u0130yi \u00e7al\u0131\u015fmalar..<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Asp.NET&#8217;ten sonra Asp.NET MVC&#8217;de FileUpload nesnesinin i\u015flevlerini yapmakta azda olsa zorluk \u00e7ekiyoruz.E\u011fer bu yaz\u0131y\u0131 okuyorsan\u0131z b\u00fcy\u00fck ihtimal bu konuda benim tak\u0131ld\u0131\u011f\u0131m baz\u0131 noktalara sizlerde tak\u0131lm\u0131\u015fs\u0131n\u0131zd\u0131r.Bence i\u00e7inizi ferah tutun.Bu konuda ki s\u0131k\u0131nt\u0131m\u0131 ben halledebildiysem, emin&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,345],"tags":[248,346,283,755],"class_list":["post-1354","post","type-post","status-publish","format-standard","hentry","category-asp-net-mvc","category-mvc-4-0","tag-fileupload","tag-httppostedfilebase","tag-mvc","tag-mvc-4-0"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/1354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=1354"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/1354\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=1354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=1354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=1354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}