سلام
من یه web api نوشتم و از طریق یه برنامه تحت ویندوز به اون وصل میشم و یک سری کار انجام میدم. در حالتی نیاز دارم که یک فایل رو به این web api ارسال کنم. ولی همیشه null دریافت میکنه.لطفا کمک کنید
web api
[HttpGet] public bool insertMaliPic(string year, byte[] bfile, string docname, string sanad, string atf) { bool res; OracleConnection conn = new OracleConnection(); conn.ConnectionString = "Data Source=orcl;User ID=omran;password=omran"; conn.Open(); OracleCommand oCmd = new OracleCommand(); oCmd.Connection = conn; year = ("20" + (year + "01")); if (docname.Contains("Thumbs.db")) { return false; } string name = docname; while (name.Contains(@"\")) { int ind = name.IndexOf(@"\"); name = name.Remove(0, (ind + 1)); } try { if ((sanad == "")) { sanad = " is null"; } else { sanad = ("='" + (sanad + "'")); } if ((atf == "")) { atf = " is null"; } else { atf = ("='" + (atf + "'")); } oCmd.CommandText = ("select t.docid from tabdoc t where t.pparentid='"+ year + "' and t.keyword1 "+ sanad + " and t.keyword2 " + atf + ""); string docid = oCmd.ExecuteScalar().ToString(); string back; back = System.IO.Path.GetExtension(docname); if (((back.ToUpper() == ".TIFF") || ((back.ToUpper() == ".TIF") || ((back.ToUpper() == ".JPG") || (back.ToUpper() == ".JPEG"))))) { name = name.ToUpper(); name = name.Replace(".TIFF", "").Replace(".TIF", "").Replace(".JPG", "").Replace(".JPEG", "").ToString(); oCmd.CommandText = "insert into tabimage "; oCmd.CommandText += " (imgid, docid, image, imagename)"; oCmd.CommandText = oCmd.CommandText + " values (IMGESEQ.NEXTVAL," + docid + ", :image, '" + name + "')"; oCmd.Parameters.Add("image", OracleType.Blob); oCmd.Parameters["image"].Value = bfile; oCmd.ExecuteNonQuery(); } else { oCmd.CommandText = "insert into tabimage "; oCmd.CommandText += " (imgid, docid, image, imagename,TTYPE)"; oCmd.CommandText = oCmd.CommandText + " values (IMGESEQ.NEXTVAL," + docid + ", :image, '" + name + "','" + back + "')"; oCmd.Parameters.Add("image", OracleType.Blob); oCmd.Parameters["image"].Value = bfile; oCmd.ExecuteNonQuery(); } res = true; } catch (Exception ex) { res = false; } return res; }
نحوه ارسال فایل و استفاده از web api
byte[] bFile = null; bFile = System.IO.File.ReadAllBytes(imgdt.Rows[i][0].ToString()); if ((status == 0)) { if ((imgdt.Rows[i][0].ToString().Replace(dirdt.Rows[dirid][0].ToString(), "").ToUpper().Replace(" ", "").Contains(".TIF") || (imgdt.Rows[i][0].ToString().ToUpper().Replace(" ", "").Contains(".JPG") || (imgdt.Rows[i][0].ToString().ToUpper().Replace(" ", "").Contains(".JPEG") || (imgdt.Rows[i][0].ToString().ToUpper().Replace(" ", "").Contains(".TIFF") || imgdt.Rows[i][0].ToString().ToUpper().Replace(" ", "").Contains(".PDF")))))) { //insertMaliPic(sanaddate.PDateText.Substring(2, 2).ToString(), bFile, imgdt.Rows[i][0].ToString(), sanadno.Text, atfno.Text); URI = "http://localhost:1808/api/Docs/insertMaliPic?year=" + sanaddate.Value.Substring(2, 2).ToString() + "&bfile=" + bFile + "&docname=" + imgdt.Rows[i][0].ToString() + "&sanad=" + sanadno.Text + "&atf=" + atfno.Text; using (var client = new HttpClient()) { using (var response = await client.GetAsync(URI)) { if (response.IsSuccessStatusCode) { var useripJsonString = await response.Content.ReadAsStringAsync(); res = bool.Parse(JsonConvert.DeserializeObject(useripJsonString).ToString()); } } } } }
کسی نمیتونه کمک کنه؟
دوستان لطفا کمک کنید به شدت نیاز دارم به این موضوع
لینک زیر رو بررسی کنید:
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)