Я обрезаю изображение и сохраняю. В btnsave_click я конвертирую значение скрытого поля в десятичное. На локальном компьютере ошибки нет, но при публикации на сервере выдается ошибка ниже.
Подробное исключение на сервере:
Входная строка имеет неправильный формат.
Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.
Сведения об исключении: System.FormatException: входная строка имеет неправильный формат.
Ошибка источника:
Необработанное исключение было создано во время выполнения текущего веб-запроса. Информацию о происхождении и местонахождении исключения можно определить с помощью трассировки стека исключений ниже.
Трассировки стека:
[FormatException: входная строка имеет неправильный формат.]
System.Number.StringToNumber (String str, параметры NumberStyles, NumberBuffer & number, информация NumberFormatInfo, логическое parseDecimal) +10726387 System.Number.ParseDecimal (значение строки, параметры NumberStyles , NumberFormatInfo numfmt) +172
System.Convert.ToDecimal (строковое значение) +68
IngredientMatcher.Pages.ImageCropPopup.btnsave_Click (отправитель объекта, EventArgs e) +104
System.Web.UI.WebControls. Button.OnClick (EventArgs e) +9552602
System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +103
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler. RaisePostBackEvent (String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent (NameValueCollection System.Web) +35. UI.Page.ProcessRequestMain (логическое includeStagesBeforeAsyncPoint, Boo Lean includeStagesAfterAsyncPoint) +1724
Код::
protected void btnsave_Click(object sender, EventArgs e)
{
string ImageName = ViewState["ImageName"].ToString();
int www = Convert.ToInt32(Math.Round(Convert.ToDecimal(W.Value)));
int hhh = Convert.ToInt32(Math.Round(Convert.ToDecimal(H.Value)));
int xxx = Convert.ToInt32(Math.Round(Convert.ToDecimal(X.Value)));
int yyy = Convert.ToInt32(Math.Round(Convert.ToDecimal(Y.Value)));
int w = (www == 0) ? 0 : www;
int h = (hhh == 0) ? 0 : hhh;
int x = (xxx == 0) ? 0 : xxx;
int y = (yyy == 0) ? 0 : yyy;
byte[] CropImage = Crop(Server.MapPath(" ") + "\\" + upPath + ImageName, w, h, x, y);
using (MemoryStream ms = new MemoryStream(CropImage, 0, CropImage.Length))
{
ms.Write(CropImage, 0, CropImage.Length);
using (SD.Image CroppedImage = SD.Image.FromStream(ms, true))
{
string SaveTo = Server.MapPath("") + "\\" + CropPath + "crop" + ImageName;
CroppedImage.Save(SaveTo, CroppedImage.RawFormat);
imgCropped.BorderWidth = 1;
imgCropped.ImageUrl = CropPath + "crop" + ImageName;
}
}
string CroppedImg = "crop" + ViewState["ImageName"].ToString();
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "OpenPopUp", "javascript:SaveAndClose('" + CroppedImg + "');", true);
}
Заранее спасибо.