发布公司产品时,上传小图和大图
但现在问题是如果不上传图片,没问题;
只上传小图片或者大图片也没问题;
如果小图片和大图片一起上传,写入数据库的都是大图路径。问题出在img_url,img_url1都是引用了同一个变量,请高手帮忙解决一下,谢谢!!<form id="form1" runat="server">
产品小图:<INPUT id="myfileAdd" type="file" size="50" name="myfile" runat="server" />
产品大图:<INPUT id="myfile1Add" type="file" size="50" name="myfile1" runat="server" />
<asp:button id="btn_Ok" runat="server" Text=" 添加 " OnClick="btn_Ok_Click" >
</form>增加新产品的程序如下:protected void btn_Ok_Click(object sender, EventArgs e)
{
string img_url;
img_url = UploadPicFile(myfileAdd);
if (img_url == "")
img_url = "nopic.jpg"; string img_url1;
img_url1 = UploadPicFile(myfile1Add);
if (img_url1 == "")
img_url1 = "nopic1.jpg";
Hashtable ht = new Hashtable();
ht.Add("ProductName", SqlStringConstructor.GetQuotedString(ProductName.Text));
ht.Add("ProductModel", SqlStringConstructor.GetQuotedString(ProductModel.Text));
ht.Add("ClassID", SqlStringConstructor.GetQuotedString(ClassID.SelectedItem.Value));
ht.Add("PicPathSmall", SqlStringConstructor.GetQuotedString(img_url));
ht.Add("PicPathBig", SqlStringConstructor.GetQuotedString(img_url1));
ht.Add("ProductContent", SqlStringConstructor.GetQuotedString(FreeTextBox1.Text)); Product1 product1 = new Product1();
product1.Add(ht); Response.Redirect("add_product1_prs.aspx");
}上传图片的程序如下:
private string UploadPicFile(System.Web.UI.HtmlControls.HtmlInputFile Fupload)
{
//文件上传
try
{
if (Fupload.PostedFile.FileName == "")
return "";
string dir = DateTime.Now.ToString("yyyyMM");
if (!Directory.Exists(Server.MapPath("..\\..\\upimage\\") + dir))
{
Directory.CreateDirectory(Server.MapPath("..\\..\\upimage\\") + dir);
if (!Directory.Exists(Server.MapPath("..\\..\\upimage\\") + dir))
return "";
}
Random rd = new System.Random();
string filename;
string extname; if (Fupload.PostedFile.FileName != "")
{
extname = Fupload.PostedFile.FileName.Substring(Fupload.PostedFile.FileName.LastIndexOf(".") + 1).ToUpper();
if ("JPG|GIF|BMP|PNG".IndexOf(extname) == -1)
{
return "";
} filename = dir + "/" + DateTime.Now.ToString("yyyyMM") + rd.Next(1000).ToString() + "." + extname;
Fupload.PostedFile.SaveAs(Server.MapPath("..\\..\\upimage\\") + filename);
return filename;
}
return ""; }
catch { return ""; }
}
但现在问题是如果不上传图片,没问题;
只上传小图片或者大图片也没问题;
如果小图片和大图片一起上传,写入数据库的都是大图路径。问题出在img_url,img_url1都是引用了同一个变量,请高手帮忙解决一下,谢谢!!<form id="form1" runat="server">
产品小图:<INPUT id="myfileAdd" type="file" size="50" name="myfile" runat="server" />
产品大图:<INPUT id="myfile1Add" type="file" size="50" name="myfile1" runat="server" />
<asp:button id="btn_Ok" runat="server" Text=" 添加 " OnClick="btn_Ok_Click" >
</form>增加新产品的程序如下:protected void btn_Ok_Click(object sender, EventArgs e)
{
string img_url;
img_url = UploadPicFile(myfileAdd);
if (img_url == "")
img_url = "nopic.jpg"; string img_url1;
img_url1 = UploadPicFile(myfile1Add);
if (img_url1 == "")
img_url1 = "nopic1.jpg";
Hashtable ht = new Hashtable();
ht.Add("ProductName", SqlStringConstructor.GetQuotedString(ProductName.Text));
ht.Add("ProductModel", SqlStringConstructor.GetQuotedString(ProductModel.Text));
ht.Add("ClassID", SqlStringConstructor.GetQuotedString(ClassID.SelectedItem.Value));
ht.Add("PicPathSmall", SqlStringConstructor.GetQuotedString(img_url));
ht.Add("PicPathBig", SqlStringConstructor.GetQuotedString(img_url1));
ht.Add("ProductContent", SqlStringConstructor.GetQuotedString(FreeTextBox1.Text)); Product1 product1 = new Product1();
product1.Add(ht); Response.Redirect("add_product1_prs.aspx");
}上传图片的程序如下:
private string UploadPicFile(System.Web.UI.HtmlControls.HtmlInputFile Fupload)
{
//文件上传
try
{
if (Fupload.PostedFile.FileName == "")
return "";
string dir = DateTime.Now.ToString("yyyyMM");
if (!Directory.Exists(Server.MapPath("..\\..\\upimage\\") + dir))
{
Directory.CreateDirectory(Server.MapPath("..\\..\\upimage\\") + dir);
if (!Directory.Exists(Server.MapPath("..\\..\\upimage\\") + dir))
return "";
}
Random rd = new System.Random();
string filename;
string extname; if (Fupload.PostedFile.FileName != "")
{
extname = Fupload.PostedFile.FileName.Substring(Fupload.PostedFile.FileName.LastIndexOf(".") + 1).ToUpper();
if ("JPG|GIF|BMP|PNG".IndexOf(extname) == -1)
{
return "";
} filename = dir + "/" + DateTime.Now.ToString("yyyyMM") + rd.Next(1000).ToString() + "." + extname;
Fupload.PostedFile.SaveAs(Server.MapPath("..\\..\\upimage\\") + filename);
return filename;
}
return ""; }
catch { return ""; }
}
在VB.NET里面我知道怎么实现,但在C#里面就是写不出来,所以烦请各位高手帮帮忙
呵呵 需要高清的小图就用别人的代码和算法 呵呵