2010-10-31 5 views
0

У меня очень неприятная проблема с динамическим сохранением изображения из текста базы данных. Этот код отлично работает в моей dev-блоке, но не на рабочем сервере.Создание образа на производственном сервере

Вот пример того, что я пытаюсь сделать:

 private void SaveImage() 
    { 

     Bitmap objBmpImage = new Bitmap(300, 300); 

     int intWidth = 0; 
     int intHeight = 0; 

     // Create the Font object for the image text drawing. 
     Font objFont = new Font("Arial", 12, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel); 

     // Create a graphics object to measure the text's width and height. 
     Graphics objGraphics = Graphics.FromImage(objBmpImage); 

     // This is where the bitmap size is determined. 
     intWidth = 100; 
     intHeight = 100; 

     // Create the bmpImage again with the correct size for the text and font. 
     //objBmpImage = new Bitmap(objBmpImage, new Size(intWidth, intHeight)); 

     // Add the colors to the new bitmap. 
     objGraphics = Graphics.FromImage(objBmpImage); 

     //bounding box 
     RectangleF rectf = new RectangleF(0, 0, 295, 295); 

     // Set Background color 
     objGraphics.Clear(Color.White); 
     objGraphics.SmoothingMode = SmoothingMode.AntiAlias; 
     objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias; 
     objGraphics.DrawString("Test", objFont, Brushes.Black, rectf); 
     objGraphics.Flush(); 

     objBmpImage.Save(@"***SERVER PATH HERE****"); 
     Response.Write("Image saved completed"); 
    } 

есть путь сервер имеет сетевую службу написать Permissio

ответ

0

Проверьте, что ваш аккаунт код работает под управлением (что-то вроде System.Environment. UserName) и убедитесь, что это имя, которое вы ожидаете.

По умолчанию олицетворение завершено, и у пользователя может не быть доступа к записи в данной папке. Код также может работать под анонимной учетной записью пользователя (т. Е. Если у вас есть аутентификаторы форм/анонимные пользователи).

В любом случае вам необходимо проверить, есть ли у пользователя разрешения на создание образа на диске сервера и полная запись в учетной записи с разрешениями для этого. То есть вы можете явно выдавать себя за какую-то конкретную учетную запись и запускать код, который записывается на диск под этой учетной записью.

Также проверьте, работает ли пул приложений под управлением, который вы ожидаете. То есть он может (и, вероятно, не должен) работать под учетной записью службы сети.

+0

Спасибо, Алексей! Я проверю это. Сайт работает на общем хостинговом плане от Softsys. Поэтому у меня мало контроля над тем, какие учетные записи получают разрешения. Возможно, олицетворение - это способ, которым нужно писать изображение. Спасибо за помощь! – adminJaxon

Смежные вопросы