简体   繁体   English

远程服务器返回错误:(500)System.Net.HttpWebRequest.GetResponse()上的服务器上的内部服务器错误

[英]The remote server returned an error: (500) Internal Server Error on server at System.Net.HttpWebRequest.GetResponse()

The remote server returned an error: (500) Internal Server Error at System.Net.HttpWebRequest.GetResponse() 远程服务器返回错误:(500) System.Net.HttpWebRequest.GetResponse()内部服务器错误

Working fine on local machine but create issue after testing the application on server 在本地计算机上工作正常,但在服务器上测试应用程序后出现问题

below is my code 下面是我的代码

foreach (var file in pt1_upload)
                {
                    MemoryStream target = new MemoryStream();
                    file.InputStream.CopyTo(target);
                    byte[] byteArray = target.ToArray();
                    string ServiceUrl = ConfigurationManager.AppSettings["ServiceUrl"].ToString();
                    WebRequest request = WebRequest.Create(ServiceUrl + "image/UploadPhotoForService?tabNo=1");
                    request.Method = "POST";
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.ContentLength = byteArray.Length;
                    Stream dataStream = request.GetRequestStream();
                    dataStream.Write(byteArray, 0, byteArray.Length);
                    dataStream.Close();
                    WebResponse response = request.GetResponse();
                    dataStream = response.GetResponseStream();
                    StreamReader reader = new StreamReader(dataStream);
                    string responseFromServer = reader.ReadToEnd();
                    Console.WriteLine(responseFromServer);
                    reader.Close();
                    dataStream.Close();
                    response.Close();
}

My MVC3 application code which receive image byte array 我的MVC3应用程序代码接收图像字节数组

[HttpPost]
        [System.Web.Services.WebMethod]
        public string UploadPhotoForService(int tabNo)
        {
            try
            {
                    byte[] buffer = new byte[Request.InputStream.Length];
                    Request.InputStream.Read(buffer, 0, buffer.Length);
                    MemoryStream ms = new MemoryStream(buffer);
                    Image returnImage = Image.FromStream(ms);
                    var fileName = Guid.NewGuid().ToString();

                    var myPath = "~/TempImages/";

                    if (!Directory.Exists(Server.MapPath(myPath)))
                    {
                        DirectoryInfo di = Directory.CreateDirectory(Server.MapPath(myPath));
                    }
                    var physicalPath = Path.Combine(Server.MapPath(myPath), fileName + ".jpeg");
                    returnImage.Save(physicalPath, System.Drawing.Imaging.ImageFormat.Jpeg);

            }
            catch (Exception ex)
            {
                return ex.Message;    
            }
        }

我已经通过将内容类型更改为

request.ContentType = "image/jpeg";

you need to use Server.MapPath() function to map the specified path to the corresponding physical directory on the server . 您需要使用Server.MapPath()函数将指定的path mapserver上相应的physical directory

you need to use Path.Combine() function to Combine strings into a path 您需要使用Path.Combine()函数将strings组合到path

Try this: 尝试这个:

WebRequest request = WebRequest.Create(Path.Combine(Server.MapPath(ServiceUrl)), "image/UploadPhotoForService?tabNo=1"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 System.Net.WebException:远程服务器返回错误:(401)未经授权。 在System.Net.HttpWebRequest.GetResponse() - System.Net.WebException: The remote server returned an error: (401) Unauthorized. at System.Net.HttpWebRequest.GetResponse() 远程服务器返回错误:(401) Unauthorized at System.Net.HttpWebRequest.GetResponse() - The remote server returned an error: (401) Unauthorized at System.Net.HttpWebRequest.GetResponse() 远程服务器返回错误 (404) 未找到。 在 system.net.httpwebrequest.getresponse() - the remote server returned an error (404) not found. at system.net.httpwebrequest.getresponse() HttpWebRequest的。 远程服务器返回错误:(500)内部服务器错误 - HttpWebRequest. The remote server returned an error: (500) Internal Server Error GetResponse()上500内部服务器错误 - 500 internal server error at GetResponse() System.Net.WebException:远程服务器返回错误:(500)内部服务器错误。 - System.Net.WebException: The remote server returned an error: (500) Internal Server Error. HttpWebRequest.GetResponse提供内部服务器错误 - HttpWebRequest.GetResponse giving Internal Server Error 调用GetResponse()引发(500)内部服务器错误 - Call to GetResponse() is throwing (500) Internal Server Error 远程服务器返回错误:(500)内部服务器错误Web服务 - The remote server returned an error: (500) Internal Server Error Web service 远程服务器返回错误:(500)Internal Server Error。 - The remote server returned an error: (500) Internal Server Error.
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM