![](/img/trans.png)
[英]System.Net.WebException: The remote server returned an error: (401) Unauthorized. at System.Net.HttpWebRequest.GetResponse()
[英]The remote server returned an error: (500) Internal Server Error on server at System.Net.HttpWebRequest.GetResponse()
远程服务器返回错误:(500) System.Net.HttpWebRequest.GetResponse()
内部服务器错误
在本地计算机上工作正常,但在服务器上测试应用程序后出现问题
下面是我的代码
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();
}
我的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";
您需要使用Server.MapPath()
函数将指定的path
map
到server
上相应的physical directory
。
您需要使用Path.Combine()
函数将strings
组合到path
尝试这个:
WebRequest request = WebRequest.Create(Path.Combine(Server.MapPath(ServiceUrl)), "image/UploadPhotoForService?tabNo=1"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.