将图像捕获照片从电话间隙传输到 C# asp.net Web 服务

Posted

技术标签:

【中文标题】将图像捕获照片从电话间隙传输到 C# asp.net Web 服务【英文标题】:Transfer image capture photo from Phone gap to C# asp.net Web Service 【发布时间】:2020-03-30 01:08:21 【问题描述】:

下面是我的j查询函数uploadPicOne()

        $(function() 
            var allVals = []; //for global check boxes
            $(document).on("click", ".click-action-for-event", function(e) 
        debugger;

                        //current i am calling this method for upload picture
                        uploadPicOne();

            )       
            );


        var uploadPicOne = function() 
            navigator.camera.getPicture(updateProfilePicService_one, onFail, 
                quality: 50,
                destinationType: navigator.camera.DestinationType.FILE_URI,
                encodingType: navigator.camera.EncodingType.JPEG,
                sourceType: navigator.camera.PictureSourceType.CAMERA
            );
        

        var updateProfilePicService_one = function(fileUri) 
            SpinnerPlugin.activityStart("Loading...",  dimBackground: true );
            var options = new FileUploadOptions();
            options.fileKey = "image";
            options.fileName = fileUri.substr(fileUri.lastIndexOf('/') + 1);
            options.mimeType = "image/jpeg";
            options.params = 
                "status": "B2",
                "iTrainingId": $("#iTrainingId_currentprogramme").val(),
                "session_date": $("#iTrainingDate_currentprogramme").val(),
            ;
            options.headers = 
                "X-Api-Key": localStorage.getItem("auth_key"),
            ;
            options.chunkedMode = false;
            var ft = new FileTransfer();
            console.log(options);
            ft.upload(fileUri, base_url + "uploadpic", win, fail, options);   

        

以下是我的网络服务,不确定它是否适用于电话间隙

        [WebMethod]
 public string uploadpic()
 
     string msg = "";

     using (SqlConnection con = new SqlConnection(strConn))
     
         SqlCommand cmd = new SqlCommand("App_Service", con);
         cmd.CommandType = CommandType.StoredProcedure;
         try
         

             var request = HttpContext.Current.Request;
             IEnumerable<string> headers = request.Headers.GetValues("X-Api-Key");
             var auth_key = headers.FirstOrDefault();

             //  HttpPostedFile file = HttpContext.Current.Request.Files["image"];
             HttpPostedFile file = HttpContext.Current.Request.Files[0];
             string saveFile = file.FileName;
             file.SaveAs(Server.MapPath("/Trainer_Images/" + saveFile));

             cmd.Parameters.AddWithValue("@Paravalue", "14");
             cmd.Parameters.AddWithValue("@Value", saveFile);
             cmd.Parameters.AddWithValue("@Value1", auth_key);
             cmd.Parameters.AddWithValue("@Value2", "0");
             cmd.Parameters.AddWithValue("@Value3", "0");
             con.Open();
             cmd.ExecuteNonQuery();


             cmd.Dispose();
             con.Close();
             con.Dispose();
             //Context.Response.Write(JSONResult);
             //return d1.data;

            /// msg = "File uploaded";


         
         catch (Exception ex)
         
             msg = "Could not upload file: " + ex.Message;

         
     
     return msg;
 

我需要知道我的网络服务是正确还是错误。我也无法运行我的网络服务,我的要求是将捕获的图像文件发送到我的 asp.net 网络服务并保存到数据库,请帮助我实现我的要求或任何建议或任何与我需要相关的示例。上述 jquery 函数工作正常,因为同一个应用程序使用不同的应用程序。

今天我检查了此代码在从手机拍照后显示加载的手机无法正常工作。

【问题讨论】:

您使用的是什么版本的 ;.et 框架?它是 MVC 应用程序还是 WebForms?您在尝试运行 Web 服务时遇到了什么样的错误? 【参考方案1】:

我认为您正在制作 asp.net 网络服务 (asmx)。它需要启用 ajax 才能从 javascript 调用。 对于您的项目,我认为您应该使用 Asp.net mvc API 检查这篇文章。 https://www.c-sharpcorner.com/article/uploading-image-to-server-using-web-api-2-0/

【讨论】:

以上是关于将图像捕获照片从电话间隙传输到 C# asp.net Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 从浏览器通过 Android 相机捕获图像

如何区分捕获图像相册选择的图像

将捕获的图像从相机保存到自定义文件夹

将相机捕获的图像保存到ios中的文档目录中[重复]

使用背景图像或 CSS3 渐变更好吗? (电话间隙)

在 swift 中捕获图像后,图像的方向在 ipad 中发生了变化