昨晚,Insus.NET有寫一篇《FileUpload上傳圖片前首先預覽一下 》,里只有預覽功能。
剛才有網友在SKYPE問及,那只有預覽功能,並無上傳功能。如果在例子中添加一個上傳銨鈕,參考以前的上傳寫法,似乎已經找不到上傳的文件了。現在要把預覽OK的圖片,上傳服務端,要怎樣實現,還有在預覽時,圖片是按原實際尺寸顯示,要怎樣才能控制圖片按比例顯示?
問題有兩個,一是預覽時,控制顯示尺寸。
你在ImageProcessFactory類別更改代碼,如何更改,可參考:http://www.cnblogs.com/insus/articles/2060601.html
問題二,可以參考下列代碼(圖片存入目錄,如果想以數據流存入數據庫中,不在此例中):
protected
void Button1_Click(
object sender, EventArgs e)
{
// 建立存儲的目錄
string directory = " Myfiles/ ";
// 判斷目錄是否存在
if (!Directory.Exists(Server.MapPath(directory)))
{
// 如果不存在,創建它
Directory.CreateDirectory(Server.MapPath(directory));
}
// 新文件
string newFile = Server.MapPath(directory + Guid.NewGuid ().ToString() + " .jpg ");
if ((Session[ " UploadBytes "]) != null)
{
byte[] buffer = ( byte[])(Session[ " UploadBytes "]);
File.WriteAllBytes(newFile, buffer);
}
}
{
// 建立存儲的目錄
string directory = " Myfiles/ ";
// 判斷目錄是否存在
if (!Directory.Exists(Server.MapPath(directory)))
{
// 如果不存在,創建它
Directory.CreateDirectory(Server.MapPath(directory));
}
// 新文件
string newFile = Server.MapPath(directory + Guid.NewGuid ().ToString() + " .jpg ");
if ((Session[ " UploadBytes "]) != null)
{
byte[] buffer = ( byte[])(Session[ " UploadBytes "]);
File.WriteAllBytes(newFile, buffer);
}
}