سلام خدمت دوستان عزیز
تو یکی از پست های این سایت آموزش کار با وب کم در asp.net آموزش داده شده است.
وقتی ما پروژه رو دانلود می کنیم بصورت تکی خیلی راحت برنامه کار می کنه ولیکن وقتی خودمون توی پروژمون یه سایت صفحه درست می کنیم و دقیقا تمام کارها رو انجام می دیم و حتی دقیقا فایلهای دانلود شده پست آموزش رو کپی می کنیم تو پروژمون برنامه کار نمیکنه.یعنی پخش زنده از وب کم رو داریم ولی وقتی روی گزینه گرفتن عکس کلیک می کنیم عکسی گرفته نمی شود.
البته وقتی برنامه رو trcae می کنیم در خط if (Request.InputStream.Length > 0) شرط داخل پرانتز اجرا نمی شود!!!
دوستان راهنمایی کنن ممنون می شم ...
کدتون رو به همراه متن خطا قرار دهید
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using System.Web.Services; public partial class cs2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { if (Request.InputStream.Length > 0) { using (StreamReader reader = new StreamReader(Request.InputStream)) { string hexString = Server.UrlEncode(reader.ReadToEnd()); string imageName = DateTime.Now.ToString("dd-MM-yy hh-mm-ss"); string imagePath = string.Format("~/Captures/{0}.png", imageName); File.WriteAllBytes(Server.MapPath(imagePath), ConvertHexToBytes(hexString)); Session["CapturedImage"] = ResolveUrl(imagePath); } } } } private static byte[] ConvertHexToBytes(string hex) { byte[] bytes = new byte[hex.Length / 2]; for (int i = 0; i < hex.Length; i += 2) { bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16); } return bytes; } [WebMethod(EnableSession = true)] public static string GetCapturedImage() { string url = HttpContext.Current.Session["CapturedImage"].ToString(); HttpContext.Current.Session["CapturedImage"] = null; return url; } }
<!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> </configSections> <connectionStrings> <add name="VesalConString" connectionString="Data Source=.;Initial Catalog=Vesal;Integrated Security=True" providerName="System.Data.SqlClient"/> <add name="VesalConnectionString" connectionString="Data Source=.;Initial Catalog=Vesal;Integrated Security=True;Charset=utf8" providerName="System.Data.SqlClient"/> </connectionStrings> <system.web> <httpRuntime targetFramework="4.5" requestLengthDiskThreshold ="1024"/> <compilation debug="true" targetFramework="4.5"> <assemblies> <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> <add assembly="PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add assembly="System.Speech, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="Stimulsoft.Report.Web, Version=2012.2.1304.0, Culture=neutral, PublicKeyToken=EBE6666CBA19647A"/> <add assembly="Stimulsoft.Report, Version=2012.2.1304.0, Culture=neutral, PublicKeyToken=EBE6666CBA19647A"/> <add assembly="Stimulsoft.Base, Version=2012.2.1304.0, Culture=neutral, PublicKeyToken=EBE6666CBA19647A"/> <add assembly="Stimulsoft.Report.WebDesign, Version=2012.2.1304.0, Culture=neutral, PublicKeyToken=EBE6666CBA19647A"/></assemblies> </compilation> <pages> <namespaces> <add namespace="System.Web.Optimization"/> </namespaces> <controls> <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/> </controls> </pages> <membership> <providers> <!-- ASP.NET Membership is disabled in this template. Please visit the following link http://go.microsoft.com/fwlink/?LinkId=301889 to learn about the ASP.NET Membership support in this template --> <clear/> </providers> </membership> <profile> <providers> <!-- ASP.NET Membership Profile is disabled in this template. Please visit the following link http://go.microsoft.com/fwlink/?LinkId=301889 to learn about the ASP.NET Membership support in this template --> <clear/> </providers> </profile> <roleManager> <!-- ASP.NET Membership Role is disabled in this template. Please visit the following link http://go.microsoft.com/fwlink/?LinkId=301889 to learn about the ASP.NET Membership support in this template --> <providers> <clear/> </providers> </roleManager> <!-- If you are deploying to a cloud environment that has multiple web server instances, you should change session state mode from "InProc" to "Custom". In addition, change the connection string named "DefaultConnection" to connect to an instance of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. --> <sessionState mode="InProc" customProvider="DefaultSessionProvider"> <providers> <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"/> </providers> </sessionState> <httpHandlers> <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/> </httpHandlers> <httpModules> </httpModules> </system.web> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234"/> </dependentAssembly> </assemblyBinding> </runtime> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="v11.0"/> </parameters> </defaultConnectionFactory> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/> </providers> </entityFramework> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <handlers> <add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource"/> </handlers> <modules> </modules> </system.webServer> </configuration>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="cs2.aspx.cs" Inherits="cs2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src='<%=ResolveUrl("~/Webcam_Plugin/jquery.webcam.js") %>' type="text/javascript"></script> <script type="text/javascript"> var pageUrl = '<%=ResolveUrl("~/Default.aspx") %>'; $(function () { jQuery("#webcam").webcam({ width: 320, height: 240, mode: "save", swffile: '<%=ResolveUrl("~/Webcam_Plugin/jscam.swf") %>', debug: function (type, status) { $('#camStatus').append(type + ": " + status + '<br /><br />'); }, onSave: function (data) { $.ajax({ type: "POST", url: pageUrl + "/GetCapturedImage", data: '', contentType: "application/json; charset=utf-8", dataType: "json", success: function (r) { $("[id*=imgCapture]").css("visibility", "visible"); $("[id*=imgCapture]").attr("src", r.d); }, failure: function (response) { alert(response.d); } }); }, onCapture: function () { webcam.save(pageUrl); } }); }); function Capture() { webcam.capture(); return false; } </script> <form id="form1" runat="server"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <u>نمایش زنده</u> </td> <td> </td> <td align="center"> <u>تصویر</u> </td> </tr> <tr> <td> <div id="webcam"> </div> </td> <td> </td> <td> <asp:Image ID="imgCapture" runat="server" Style="visibility: hidden; width: 320px; height: 240px" /> </td> </tr> </table> <br /> <asp:Button ID="btnCapture" Text="عکس انداختن" runat="server" OnClientClick="return Capture();" /> <br /> <span id="camStatus"></span> </form> </body> </html>
HTML
C#
web.config
متن خطا و فقط اون تیکه از کد که خطا داره رو بزاید
مهندس برنامه خطا نمیده ولی صحیح عمل نمی کنه.تصویر رو از وب کم داریم به صورت پخش زنده. اما وقتی روی دکمه گرفتن عکس کلیک می کنم نه در پوشه عکسی قرار داده می شه و نه عکس گرفته شده کنار عکس پخش زنده گذاشته می شه.
متاسفانه اینجوری نمیشه کمک کرد
نه خطایی داره
نه متنی نشون میده
باید tarce کنید کد رو تا متوجه خطای کد بشید
مهندس نمی دونم چرا با وجود اینکه دوربین در حال نشون دادن تصویر به صورت زنده هست ولی موقع گرفتن عکس در خط ( if (Request.InputStream.Length > 0)) که باید بزرگتر از صفر باشد مساوی صفر می شود. آیا باز دلیل مشخص نمی شود؟!
با شتکر
این یعنی تصویر به سرور ارسال نمیشه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)