{"id":27,"date":"2020-06-02T15:02:56","date_gmt":"2020-06-02T15:02:56","guid":{"rendered":"http:\/\/bahadirmeric.net\/bahadir\/?p=27"},"modified":"2020-06-02T15:02:56","modified_gmt":"2020-06-02T15:02:56","slug":"byte-olarak-dosya-okuyalim","status":"publish","type":"post","link":"http:\/\/bahadirmeric.net\/bahadir\/2020\/06\/02\/byte-olarak-dosya-okuyalim\/","title":{"rendered":"Byte olarak dosya okuyal\u0131m"},"content":{"rendered":"\n<p>Genellikle\u00a0 ASP.NET taraf\u0131nda kullan\u0131lan bir i\u015flem olmas\u0131na ra\u011fmen ben \u00f6zellikle POS cihaz\u0131na logo atmak i\u00e7in ihtiya\u00e7 duydum. Amac\u0131m\u0131z veritaban\u0131na dosyay\u0131 byte olarak okuyup yazd\u0131rabilmek.\u00a0Netten balt\u0131\u011f\u0131mda asl\u0131nda bir ka\u00e7 \u00f6rnek buldum ama i\u00e7lerinden bana g\u00f6re en k\u0131sas\u0131 ve rahat \u00e7al\u0131\u015fan\u0131 bu idi. \u00d6ncelikle sizlere dosya okuma kodunu veriyorum;<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic static Byte&#x5B;] GetByteReadfromFile(string file)\n{\nif (File.Exists(file) == false)\n{\nreturn null;\n}\ntry\n{\nbyte&#x5B;] image = File.ReadAllBytes(file);\nreturn image;\n}\ncatch (Exception ex)\n{\nreturn null;\n}\n}\n<\/pre><\/div>\n\n\n<p>Bu fonksiyon sadece tek ba\u015f\u0131na dosyadan okuma yap\u0131p sonucu bir byte dizisi halinde d\u00f6nd\u00fcrmektedir. Esas veritaban\u0131na kay\u0131t i\u015flemine gelindi\u011finde ise klasik bir kod ile vede i\u015fin i\u00e7ine birde MS-Sql Store Procedure katarak okunan bu de\u011ferin nas\u0131l veritaban\u0131na yazd\u0131r\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6relim.<\/p>\n\n\n\n<p>Store Procedure i\u00e7eri\u011fi ;<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nUSE &#x5B;AbmC]\nGO\nSET ANSI_NULLS ON\nGO\nSET QUOTED_IDENTIFIER ON\nGO\nALTER PROCEDURE &#x5B;dbo].&#x5B;spResimEkle]\n@FPP_ID                 int,\n@FPP_DATA               varbinary(999),\n@FPP_FILENAME           varchar(150)\nAS\n \nBEGIN\nINSERT INTO tblResimler(\nFPP_DATA,\nFPP_FILENAME\n) VALUES (\n@FPP_DATA,\n@FPP_FILENAME\n)\nEND\n<\/pre><\/div>\n\n\n<p>\u015eimdide C# taraf\u0131nda klasik y\u00f6ntemle nas\u0131l veri g\u00f6nderdi\u011fimizi g\u00f6relim.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\npublic bool FtrParametreInsert(byte&#x5B;] data, string fileName)\n        {\n            SqlCommand cmd = new SqlCommand();\n            bool dsOk = false;\n \n            try\n            {\n                cmd.Connection = OpenConnection();\n                if (Process == 2)\n                {\n                    cmd.CommandText = &quot;spResimEkle&quot;;\n                    cmd.CommandType = CommandType.StoredProcedure;\n                    cmd.Parameters.Add(&quot;@FPP_DATA&quot;, SqlDbType.VarBinary, data.Length).Value = data;\n                    cmd.Parameters.Add(&quot;@FPP_FILENAME&quot;, SqlDbType.VarChar).Value = fileName;\n                }\n                cmd.ExecuteNonQuery();\n                dsOk = true;\n            }\n            catch (SqlException ex)\n            {\n                WriteLog(&quot;HATA : FtrParametreInsert : &quot; + Process.ToString() + &quot; : &quot; + ex.Message + &quot; -&gt; Query : &quot; + cmd.CommandText);\n            }\n            finally\n            {\n                cmd = null;\n                CloseConnection();\n            }\n            return dsOk;\n        }\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>Genellikle\u00a0 ASP.NET taraf\u0131nda kullan\u0131lan bir i\u015flem olmas\u0131na ra\u011fmen ben \u00f6zellikle POS cihaz\u0131na logo atmak i\u00e7in ihtiya\u00e7 duydum. Amac\u0131m\u0131z veritaban\u0131na dosyay\u0131 byte olarak okuyup yazd\u0131rabilmek.\u00a0Netten balt\u0131\u011f\u0131mda asl\u0131nda bir ka\u00e7 \u00f6rnek buldum ama i\u00e7lerinden bana g\u00f6re en k\u0131sas\u0131 ve rahat \u00e7al\u0131\u015fan\u0131 bu idi. \u00d6ncelikle sizlere dosya okuma kodunu veriyorum; Bu fonksiyon sadece&#8230; <a class=\"continue-reading-link\" href=\"http:\/\/bahadirmeric.net\/bahadir\/2020\/06\/02\/byte-olarak-dosya-okuyalim\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":16,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,3],"tags":[4,2,6],"class_list":["post-27","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","category-sql","tag-c","tag-sql","tag-visual-studio"],"_links":{"self":[{"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/posts\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":1,"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/posts\/27\/revisions"}],"predecessor-version":[{"id":28,"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/posts\/27\/revisions\/28"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/media\/16"}],"wp:attachment":[{"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/media?parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/categories?post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bahadirmeric.net\/bahadir\/wp-json\/wp\/v2\/tags?post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}