помочь с реализацией класса изображения - PullRequest
0 голосов
/ 30 марта 2011

я строю этот класс

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);

1 Ответ

0 голосов
/ 30 марта 2011

Вы можете изменить свою функцию SaveImage, чтобы взять поток и передать как это:

using (MemoryStream stream = new MemoryStream(fileUpload.FileBytes))
{
    img.SaveImage(stream);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...