這種方法是常見的一種。如果要插入一些包含文字 和圖像的數據,則可以在單擊「保存」按鈕(保存文本)之前上傳圖像。
方法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:我相信你關於靜態效率不高的一般性陳述是不明智的;沒有任何跡象表明,使靜態的東西會比不靜態的效率更低。這是關於任何資源會發生多少爭奪的全部。 – casperOne 2011-05-06 18:04:52
我讀過很多文章,建議使用靜態是程序員之間的常見錯誤! – Roobah 2011-05-06 18:10:19
@HTB:不是。它在*如何使用*這是一個錯誤。僅僅是「靜態」並不會讓它變得糟糕。 – casperOne 2011-05-06 18:15:31