سلام وقت بخیر
من میخوام اصلاعات رو با ajax در بانک ذخیره کنم ولی نمیدونم باید چطور عکس رو از آپلود فایل بگیرم .
کدهام رو به این شکل نوشتم :
<script type="text/javascript"> function SavePersonRecord() { var text = $.trim($('#<%=textm.ClientID %>').val()); var majmoeasli = $("#ddlamingroup option:selected ").select().val(); var ghale = $("#ddlghaleb option:selected").text(); var ghymat = 200; var longtext = $("#longtext").val(); var shorttext = $("#shorttext").val(); var fehrest = $("#fehrest").val(); var picture = $('#<%=picture.FileName %>').val(); var kalamatekelidy = $("#kalamatekelidy").val(); var FileUploadfile = $("#FileUploadfile").val(); var Messege = ""; if (Messege.length == 0) { $.ajax({ type: "POST", dataType: "json", contentType: "application/json; charset=utf-8", url: "WebForm1.aspx/InsertPersonRecord", data: "{'text':'" + text + "', 'majmoeasli':'" + majmoeasli + "', 'ghale':'" + ghale + "', 'ghymat':'" + ghymat + "', 'longtext':'" + longtext + "', 'shorttext':'" + shorttext + "', 'fehrest':'" + fehrest + "', 'picture':'" + picture + "', 'kalamatekelidy':'" + kalamatekelidy + "', 'file':'" + FileUploadfile + "'}", success: function (Record) { if (Record.d == true) { $('#Result').text("درج موفقیت آمیز"); } else { $('#Result').text("درج نشد"); } }, Error: function (textMsg) { $('#Result').text("Error: " + Error); } }); } else { $('#Result').html(''); $('#Result').html(Messege); } $('#Result').fadeIn(); } </script>
و
[WebMethod] public static bool InsertPersonRecord( string text , int majmoeasli, string ghale, int ghymat, string longtext, string shorttext, string fehrest, string picture, string kalamatekelidy , string file ) { string FileName = string.Empty; if ( HttpContext.Current. Request.Files["UploadedFile"] != null) { HttpPostedFile MyFile = HttpContext.Current.Request.Files["UploadedFile"]; //Setting location to upload files string TargetLocation = HttpContext.Current.Server.MapPath("~/img/"); if (MyFile.ContentLength > 0) { FileName = MyFile.FileName; int FileSize = MyFile.ContentLength; byte[] FileByteArray = new byte[FileSize]; MyFile.InputStream.Read(FileByteArray, 0, FileSize); MyFile.SaveAs(TargetLocation + FileName); file = string.Empty; file = "~/img/" + FileName; } } project p = new project(); bool InsertData; p.text = text; p.majmoeasli = majmoeasli; p.ghale = ghale; p.ghymat = ghymat; p.longtext = longtext; p.shortttext = shorttext; p.fehrest = fehrest; p.picture = picture; p.kalamatekelidy = kalamatekelidy; // date = date.settime(); p.filename = file; p.insertproject(); int Result = 2; if (Result > 0) { InsertData = true; } else { InsertData = false; } return InsertData; }
ولی مسیر عکس رو در هر دوصورت undefine میزنه .
ممنون میشم بررسی کنید.
ممنون مهندس و اینکه چرا تابع هیچ خروجی مبنی بر درج دادها نمیده ؟
متوجه نشدم منظورتون رو
استاد این قسمت کد رو ببینید :
success: function (Record) { if (Record.d == true) { $('#Result').text("درج موفقیت آمیز"); } else { $('#Result').text("درج نشد"); } }, Error: function (textMsg) { $('#Result').text("Error: " + Error); } }); } else { $('#Result').html(''); $('#Result').html(Messege); } $('#Result').fadeIn();
ولی پیغام چاپ نمیکنه . دستور alert هم نوشتم اجرا نشد
از FireBug استفاده کنید ببینید چه اروری میده
مهندس عذر میخوام از AjaxFileUpload استفاد کردم ولی این پیغام رو میده :
در web.config رفرنس ها رو هم اضافه کردم .
مشکل چیه ؟
متن ارور مشخص نیست
مشکل همینه
ببخشید برای webmethod اگر به این صورت بنویسم صحیحه ؟
if (HttpContext.Current != null) { Page page = (Page)HttpContext.Current.Handler; FileUpload FileUploadfile = (FileUpload)page.FindControl("FileUploadfile"); FileUpload picture = (FileUpload)page.FindControl("picture"); picture.SaveAs(HttpContext.Current. Server.MapPath("~/img/" + Path.GetFileName(picture.FileName))); project.picture = "img/" + Path.GetFileName(picture.FileName); FileUploadfile.SaveAs(HttpContext.Current.Server.MapPath("~/img/" + Path.GetFileName(FileUploadfile.FileName))); project.filename = "img/" + Path.GetFileName(FileUploadfile.FileName); }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)