مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

مشکل خطای Request URL Too Long هنگام آپلود عکس سمت سرور

جمعه, 24 اردیبهشت 1395 07:40

مشکل خطای Request URL Too Long هنگام آپلود عکس سمت سرور

سلام و خسته نباشید

من برنامه ای نوشتم که باید عکس کراپ شده را سمت سرور آپلود نمایم. کد سمت سرور با WebApi هست و سمت کلاینت با جاوااسکریپت. اکنون این عکس کراپ شده را در یک تگ img دارم. و به دلیل اینکه نباید در سیستم کلایننت به صورت فیزیکی به شکل یک فایل سیو شود بنابراین مجبورم که این عکس را به صورت DataUrL یا base64 تبدیل کنم و به سرور بفرستم. اما هنگام ارسال خطای Request Url Too Long دریافت می کنم.

کد جاوااسکریپت هم اتچ شده است.

 بعضی سایتها پیشنهاد استفاده از formData دادند اما کلا هیچی به آن append  نمی شد.  از xmlhttp Request نیز استفاده کردم اما هیچ عکس العملی هنگام ارسال صورت نمی گرت. یعنی منظورم این هست که به سمت کد سرور انتقال پیدا نمیکرد تا بتوانم trace  کنم.اگر لطف کنید راهنمایی کنید خیلی ممنون میشم.

از کمک شما ممنونم.

با سپاس

 var res = callservice1('POST', 'users/Review', ({ AuthToken: GetToken('Token'), Comment: comment1, reviewcode: rcode, UrlAddress: $("#txturl").val(), highlighted: $("#txthighlight").val(), ScreenShot: b64}));
        function callservice1(verb, serviceName, Data) {
            
            var Url = BaseUrl + serviceName;
            var Key = GetToken('Token');
            $.ajax({
                type: verb
                        , async: true
                        , url: Url
                        , data: JSON.stringify(Data),

                contentType: false,
                processData: false,
                headers: {
                    "Content-Type": "undefined ; charset=utf-8", "Accept": '*/*', 'Authorization': Key
                },
                success: function (data, status, headers, config) {
                    {
                        return data;
                    }
                },
                error: function (data, status, headers, config) {
                    if (status == 401) {
                        alert('User ERROR' + status);
                    }
                    else {
                        alert('Try again' + status);
                    }
                }
            });

 

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید