画像をアップロードするための Web サービスを備えた asp.net 4.0 Web アプリケーションを作成します。モバイル アプリから Web サービスに Base64 文字列の形式で画像を送信して、画像をアップロードしています。
以下は私のコードです:
public string Authenticate(string username, string password, string fileID, string imageData)
{
Dictionary<string, string> responseDictionary = new Dictionary<string, string>();
bool isAuthenticated = true; // Set this value based on the authentication logic
try
{
if (isAuthenticated)
{
UploadImage(imageData);
string result = "success";
var message = "Login successful";
responseDictionary["status"] = result;
responseDictionary["message"] = message;
}
}
catch (Exception ex)
{
responseDictionary["status"] = ex.Message;
responseDictionary["message"] = ex.StackTrace;
}
return new JavaScriptSerializer().Serialize(responseDictionary);
}
private void UploadImage(string uploadedImage)
{
// Convert Base64 String to byte[]
byte[] imageBytes = Convert.FromBase64String(uploadedImage);
MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);
System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)Image.FromStream(ms);
string uploadPath = Server.MapPath("..\\uploads\\") + DateTime.Now.Ticks.ToString() + ".jpeg";
ms.Close();
bitmap.Save(uploadPath, System.Drawing.Imaging.ImageFormat.Jpeg);
bitmap.Dispose();
}
このコードはローカルの ASP.NET 開発サーバーで正常に動作し、「アップロード」ディレクトリにアップロードされた画像を確認できました。ただし、コードを FTP ディレクトリに転送した後、次のエラーが表示されるようになりました。
A generic error occurred in GDI+
ダミーの .aspx ページを作成し、page_load にテキスト ファイルを作成して、アップロード ディレクトリに適切なアクセス許可があることを確認しましたが、正常に動作します。
Google検索を行った後でも、この問題を解決できませんでした。誰でもこれを修正するのを手伝ってもらえますか?
よろしくお願いします。