通过单击将多张照片上传到文件夹及其到数据库的路径

时间:2014-10-22 11:10:08

标签: c# asp.net image file-upload

我在制作将三张图片同时上传到数据库及其数据库路径的逻辑时遇到了麻烦。 我使用三个文本框作为图像标题,3个文件上传按钮和一个提交按钮。

这是我到目前为止所尝试的内容:

 protected void Button1_Click1(object sender, EventArgs e)
     {
         using (Property_dbDataContext context = new Property_dbDataContext())
         {

                 Property_image image = new Property_image();


                 image.prop_id = "1";
                     image.image_title = _ImageTitle1.Text;
                     image.image_title = _ImageTitle2.Text;
                     image.image_title = _ImageTitle3.Text;

                     string imagename = _PictureUpload1.FileName.ToString();
                     string imagepath = "wp-content/uploads/2013/05/" + imagename;
                     _PictureUpload1.SaveAs(Server.MapPath(imagepath));
                     image.image_url = imagepath.ToString();

                     context.Property_images.InsertOnSubmit(image);
                     context.SubmitChanges();         

         }
     }

界面: enter image description here

fileuploader名称是:_PictureUploader1,_PictureUploader2,_PictureUploader3 文本框名称为:_ImageTitle1,_ImageTitle2,_ImageTitle3 按钮名称:button1

我没有得到使用哪个循环或根本不使用循环。

我想将记录存储在不同的行中,如下所示:

prop_id | image_title | Image_url
1       | car         | wp-content/uploads/2013/05/car.jpg
1       | bus         | wp-content/uploads/2013/05/bus.jpg
1       | truck       | wp-content/uploads/2013/05/truck.jpg

1 个答案:

答案 0 :(得分:0)

对您的班级结构/数据库结构知之甚少:

你基本上想在数据库中建立1-many关系,为了实现这一点,你需要修改以下代码:

Property_image image = new Property_image();

image.prop_id = "1";
image.image_title = _ImageTitle1.Text;
image.image_title = _ImageTitle2.Text;
image.image_title = _ImageTitle3.Text;

string imagename = _PictureUpload1.FileName.ToString();
string imagepath = "wp-content/uploads/2013/05/" + imagename;
_PictureUpload1.SaveAs(Server.MapPath(imagepath));
image.image_url = imagepath.ToString();

是:

Property_image image = new Property_image();

image.prop_id = "1";

image.images.Add(new PropImage() { title = _ImageTitle1.Text, url = _PictureUpload1.FileName.ToString() });
image.images.Add(new PropImage() { title = _ImageTitle2.Text, url = _PictureUpload2.FileName.ToString() });
image.images.Add(new PropImage() { title = _ImageTitle3.Text, url = _PictureUpload3.FileName.ToString() });

将Property_image类更改为以下内容:

class Property_image {
    public string prop_id {get; set;}
    public List<PropImage> images { get; set; }
}

还要添加一个PropImage类:

class PropImage {
    public string title {get; set;}
    public string url {get; set;}
}

因为你想要1-many关系,你还需要在你的Class结构中有1-many关系,即一个ID可以有多个Images(title + url),所以我们需要创建一个Image对象列表在课堂内