Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将图像从手机上传到服务器,显示JSON未定义错误_Json_Cross Domain - Fatal编程技术网

将图像从手机上传到服务器,显示JSON未定义错误

将图像从手机上传到服务器,显示JSON未定义错误,json,cross-domain,Json,Cross Domain,我想上传图像从手机到服务器。首先,我将图像转换为base64,并将该数据作为JSON参数发送到WCF服务调用。但我的问题是代码总是进入jQueryAjax错误块。如果我减小base64编码图像大小,它将显示成功消息。我做错什么了吗 以下是我的WCF服务。[IMyNewApp.cs] using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using

我想上传图像从手机到服务器。首先,我将图像转换为base64,并将该数据作为JSON参数发送到WCF服务调用。但我的问题是代码总是进入jQueryAjax错误块。如果我减小base64编码图像大小,它将显示成功消息。我做错什么了吗

以下是我的WCF服务。[IMyNewApp.cs]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.ServiceModel.Web;
using System.Web.UI.WebControls;

namespace MyApp
{

    [ServiceContract]
    public interface IMyNewApp
    {
          [OperationContract]
        [WebGet(ResponseFormat = WebMessageFormat.Json)]
         void Add(int ID ,  string PIC);

    }
}
[MyNewApp.svc.cs]

using System.Data;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.Serialization.Formatters.Binary;
using System.Web;
using System.ServiceModel.Web;

namespace MyApp
{
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class MyNewApp: IMyNewApp
  {
      public void Add(int ID ,  string PIC)
            {
                    //my code
            }
   }
}
}
我的jQueryCode:-

$("#useJSONP").click(function () {
                   var id=4;
                    var pic= "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABVVJREFUeNrsWVtPG1cQnt09voCNwTaCYkAEVTSJlEogFEr72h/Ql771r5WHSn2r+p5W6WPbhAAOIWkgTQ3EhkCw9+IL9nrt3c6ctRHY3sWAl/ghR7J827PnO3O+mW9mVlhZWYH5+fnPVVX9SVGURcMwmCAI0C/DsiwIBAJ6LBb7PRKJfL+wsGAK6+vrs5lMZj2bzUahz0cikdgbHx+/zzRN+5EAB4JBmJqaBp/f33dgy6enkEm/g8PDwzvBYPBXhrRY5ruYnIJQONyXFvajIQVRgL1UCk5OTr5luq5z0yJvesNB0wLTMvlnSZQAeuQeoZBtUMLbU6cjwIODgzA8HMEvALKqgF7RuZWuPwQQEaMJtiEIL+veehaf7DbqdRMtEoKpyYTNxXIZKuUKLitcA6rAAVL0KBaLoMi5s//cQaO1TNPk1hsdjUEYOe8OwALG2Llv1rVsKyKtTLMOhUIBVEXlm7dMswvQBBh3mZj4DEPNBN5I9NzhREHkls3nNbSszE+JW53WPre+I+g67nQykTg7aq/B0iAayAiWQhxywwbbYXQEbSI3h4eHEfTErYCl48/lclAqlUgCHcE6g7aAU4Es7JWck1/QGhi+QEaweeQucZaD7WLNNtDkeNHoCIQxCnhlXVoDVRgw14FazeC/CVfwmY70iEV7k4aQU7Valyjw4eQDOlmZg6VIcdXRBpoo4ff7egJ6NB7HsFU8C5MowZwOtJnrgHW1tNUjKoRCgyBJElSrVTg+PuLR4apU6Bp0TzM0pAFmZ2Ag8JtY99ZAV6sGHGQOuLMJPRQnT2WuXq9zOe516PQUNGH1ItZ7n1B4Ees/gb6lwfoFCDlsU0ClS3IQj0F36YSIdmRkhBcQVCVp+TxmmnVH4B6DtroCTLL+1dISxOMxMAwDHj36DQpcPaXbAU0Anjx5Cqqm8eM2LaurrTVDY/PdbRpz2v1NRi4nY3KUBeaTLpfuhqWtRtuBPtcxdSWONwflL46giU+U4QWDwRsIigDLy0tcwoXuKQ2RSMQGhLz+YcT4xKsD//+huWHj6Eu3e/cASdSqXg+eYLGBwYuIClnR6iwMFo+YLjzTK0e6PGm93M57vwCuBvp6clLGSPHeeT9aiqSWcyrlXP4fv3qBmBttN0JG86nQEdwbcOWVZga+sVqpToWK5QxFzfSEKJenJt82V4gfMD/gAcHx3Dq39ed7xNMrnJ6dFJUTuqCFm7UqnAzs6/EBkKw9DQEI/gR7jI9vYObkZ3lWeSXU3Nw+PHf8D9e/e42JBIUBthe/vN2XwJN7j5fBOv1WB29g4MDAShWCzB27f/8dN0EjnmtjD1Kba2tuz8Fmy+0+/dtAIkJvFu0urqGtKGcUVrmy/YXacUOuXe/h4wiYGB15Cjuqkyc5NT6hOfpxNx9krxVJTstnJDYTvOp8cRBLDRwG9NjjpFHhGTI068YqFwoUlYxXCWR2fk7Vi7rL5pWX55veByTTO1wA3WxXg8/guPCOl3oCgyjxwUfxV0OHqnRxCUNn7MF6WpVd1+KoB4XwsbGxssm80m0+n0g36XbyzJTmdmZhZZMplEuYEv5+bmfkbw3+m6Huy3Z+NIiRoCfhmNRn9YXFx8878AAwBnfOKk/5TZXAAAAABJRU5ErkJggg==";
                    var userData = { "ID": id, "pic": pic};
                    $.ajax({
                        url: "http://myserver/MyApp.svc/Add?callback=?",
                        type: "POST",
                        data: userData,
                        crossDomain: true,
                        contentType: "application/bson; charset=utf-8",
                        dataType: "jsonp",
                        processdata: true,
                        success: function res(msg) {
                            alert("hello" );
                        },
                        error: function error(response) {
                            alert("error");
                            alert(response.responseText);
                            alert(JSON.stringify(response));
                        }
                    });

                  });

            });
请给我一个建议。
谢谢。

我发现了问题。。POST和jsonp不兼容…所以它使用了动词GET,但它有大小限制…这就是为什么不上传大图像

所以我使用方法CORS和POST实现了跨域调用,现在我可以将映像上传到服务器


谢谢..

我发现了问题。。POST和jsonp不兼容…所以它使用了动词GET,但它有大小限制…这就是为什么不上传大图像

所以我使用方法CORS和POST实现了跨域调用,现在我可以将映像上传到服务器

谢谢