2011-03-30 43 views
0

我建立一個類幫助的圖像類實現

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI.WebControls; 

namespace CDN 
{ 
public class Image 
{ 
    #region Image parameters 

    private int _PG_ID; 
    private string _PG_FileName; 
    private int _PG_ItemId; 
    private int _TD_ID; 
    private Boolean _PG_Visible; 
    private string _PG_Caption; 

    public int PG_ID 
    { 
     get { return _PG_ID; } 
     set { _PG_ID = value; } 
    } 

    public string PG_FileName 
    { 
     get { return _PG_FileName; } 
     set { _PG_FileName = value; } 
    } 

    public int PG_ItemId 
    { 
     get { return _PG_ItemId; } 
     set { _PG_ItemId = value; } 
    } 

    public int TD_ID 
    { 
     get { return _TD_ID; } 
     set { _TD_ID = value; } 
    } 

    public Boolean PG_Visible 
    { 
     get { return _PG_Visible; } 
     set { _PG_Visible = value; } 
    } 

    public string PG_Caption 
    { 
     get { return _PG_Caption; } 
     set { _PG_Caption = value; } 
    } 
    #endregion 

    public Image(int PG_ID) 
    { 
     GetImage(PG_ID); 
    } 

    public Image() 
    { 

    } 

    private void GetImage(int PG_ID) 
    { 
      //TODO get image data from db and fill all parameters with the data 
    } 

    public int SaveImage(FileUpload fileUpload,string caption,Boolean visible,int toolId,int itemId) 
    { 
     try 
     { 
      SaveImageToTemporaryFolder(fileUpload); 
      return CreateImageOnDb(fileUpload.FileName, caption, visible, toolId, itemId); 
     } 
     catch (Exception) 
     { 

      throw; 
     }  
    } 

    private int CreateImageOnDb(string fileName, string caption, bool visible, int toolId, int itemId) 
    { 
     //TODO save image data on db return image id 
     return 0; 
    } 

    private void SaveImageToTemporaryFolder(FileUpload fileUpload) 
    { 
     try 
     { 
      string savePath = HttpContext.Current.Server.MapPath("~") + "\\upload\\pgallery\\"; 
      fileUpload.SaveAs(savePath + fileUpload.FileName); 
     } 
     catch (Exception) 
     { 

      throw; 
     } 
    } 
} 
} 

如何傳遞文件?

編輯: 在函數SaveImage我傳遞一個FileUpload控件。
我想要使用這樣的類:
當上傳圖像到一個新的圖像對象和傳遞給他所有的數據,但我怎麼能把他的文件。

Image img = new Image(); 
img.PG_Caption = "my file name"; 
img.PG_Visible = True; 
img.SaveImage(file); 
+0

你能否詳細說明一點,目前還不清楚你想要達到的目標。 – RubbleFord 2011-03-30 11:44:30

回答

0

你可以改變你的SaveImage函數使用的是流,並通過在這樣的:

using (MemoryStream stream = new MemoryStream(fileUpload.FileBytes)) 
{ 
    img.SaveImage(stream); 
} 
+0

fileUpload.FileData中有一個錯誤,然後在File.OpenRead() – eyalb 2011-03-30 12:16:29

+0

是的,我腦海中有兩個不同的想法 - 更新代碼。 – 2011-03-30 12:32:09