![](/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.