Ошибка в методе CSA.Web.UI.CropImage.Crop
, как описано в трассировке стека.
Server.MapPath
, насколько мне известно, не будет возвращать пустую строку (будет выброшено исключение, если он не может отобразить - но не NullReferenceException
).
I 'Я бы посоветовал вам изучить метод, о котором я упоминал, и, возможно, опубликовать соответствующий код.
РЕДАКТИРОВАТЬ:
Итак, я быстро взглянул на Crop
Код из проекта CodePlex Вы упомянули и нашли следующие строки (форматирование мое):
private string ImagePath { get { return ViewState["ImageUrl"].ToString(); } }
drawing.Image image = drawing.Image.FromStream(
new MemoryStream(
System.IO.File.ReadAllBytes(
HttpContext.Current.Server.MapPath(this.ImagePath)
)
)
);
cropedImage.Save(path);
Теперь мне кажется, что:
- Аргумент
Path
не равно нулю * - Аргумент
ImageUrl
равно пусто **
* Хотя это может быть «неправильно», проблема не в этомпрямо сейчас.
** Значение вызова ToString
является критическим фактором в этом коде.
По сути, элемент управления не имеет изображения, установленного для обрезки, и это очевидно в вашейсобственный код:
//currently no ImageUrl set...
<cs:CropImage ID="wci1" runat="server" />
//your'e trying to crop here without an ImageUrl...
wci1.Crop(Server.MapPath("/imageupload/images/sample1.jpg"));
Исправление - указать изображение с помощью ImageUrl
, AFAIK, однако я не вижу, как это сделать.