【发布时间】:2025-12-11 14:30:02
【问题描述】:
方法 1
这种方法是常见的。如果您要插入一些包含文本的数据 和图片,您可以在点击保存按钮(保存文本)之前上传图片。
方法 2
我创建了一个HttpPostedFile 类型的数组:
static int i;
static HttpPostedFile[] fp;
在 .aspx 中:
<ASP:FILEUPLOAD id="btnBrowse" runat="server" />
<br />
<ASP:BUTTON id="btnUpload" runat="server" onclick="addfile_Click"/>
<br />
<ASP:BUTTON id="btnSave" runat="server" onclick="save_Click" />
btnUpload 会将下一张图片添加到数组中:
protected void addfile_Click(object sender, EventArgs e)
{
if (btnBrowse.HasFile)
{
fp[i] = btnBrowse.PostedFile;
i++;
}
}
btnSave 会在数组中插入图片:
protected void Save_Click(object sender, EventArgs e)
{
for (int j = 0; j <= i; j++)
{
string filename = Path.GetFileName(fp[j].FileName);
var image = SD.Image.FromStream(fp[j].InputStream);
image.Save(Server.MapPath("~/images/Profiles_Images/") + filename);
}
}
它工作正常。我有两个问题:
- 第二种方法比第一种更有效吗?
- 如果是这样,如何在不使用静态的情况下保存数组中的文件(不保存没有静态的值)?因为如您所知,静态并不高效。
【问题讨论】:
-
@HTB:我相信您关于静态效率不高的一般性陈述是不明智的;没有任何迹象表明,制作静态的东西会比非静态的东西效率低。这完全取决于任何资源会发生多少争用。
-
我读过很多文章暗示使用静态是程序员之间的常见错误!
-
@HTB:不是。 它的使用方式是一个错误。仅仅成为
static本身并没有坏处。 -
好的,请纠正我。它会使页面超载。它会在页面生命周期后处理吗?
-
@HTB:同样是关于如何使用静态;我质疑你所说的 all 静态使用是错误的。这是一个错误的说法。
标签: c# asp.net sql-server image performance