画像をローカルディレクトリに保存し続けるか、まったく保存しません。エラーは発生しません。私の知る限り、ローカル ドライブとホストの間に関係はありません。私のページはすべてホストにあり、正常に動作しています。しかし、このページを作成する前に、bin ディレクトリ ファイル (AjaxControlToolkit.dll、Site.dll、site.pdb) をローカルホストから Web サーバーにインポートしました。
ソースファイル:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolderIcerik" runat="server">
<asp:ToolkitScriptManager runat="server"></asp:ToolkitScriptManager>
<asp:AjaxFileUpload ID="AjaxFileUploadResimEkle" runat="server"
AllowedFileTypes="jpg,jpeg"
onuploadcomplete="AjaxFileUploadResimEkle_UploadComplete" />
</asp:Content
>
分離コード:
protected void AjaxFileUploadResimEkle_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
int PostID = Convert.ToInt32(Request.QueryString["PostID"]);
var makale = (from p in db.Posts
where p.PostID == PostID
select new { p.PostID, p.Title }).Single();
string uzanti = Path.GetExtension(e.FileName);
if (e.ContentType.Contains("image"))
{
if (e.FileSize <41943040)
{
Guid benzersiz = Guid.NewGuid();
string filePath =string.Format("~/images/blog/large_image/{0}_{1}{2}", makale.Title, benzersiz,uzanti);
AjaxFileUploadResimEkle.SaveAs(Server.MapPath(filePath));
System.Drawing.Image degisecekResim = System.Drawing.Image.FromFile(filePath));
Bitmap kucukResim = ResimKucult(degisecekResim);
string kucukResimYolu = string.Format("~/images/blog/medium_image/{0}_{1}{2}", makale.Title, benzersiz,uzanti);
kucukResim.Save(Server.MapPath(kucukResimYolu));
Resimler resim = new Resimler();
resim.PostID = PostID;
resim.FileName = filePath;
resim.SmallFileName = kucukResimYolu;
resim.IsActive = true;
db.Resimlers.AddObject(resim);
db.SaveChanges();
}
}
}
Bitmap ResimKucult(System.Drawing.Image resim)
{
int x = 225;
int y = 165;
Bitmap bmpOrji = new Bitmap(resim);
if (bmpOrji.Width > bmpOrji.Height)
{
y = bmpOrji.Height * x / bmpOrji.Width;
}
else if (bmpOrji.Height > bmpOrji.Width)
{
x = bmpOrji.Width * y / bmpOrji.Height;
}
Bitmap yeniBmp = new Bitmap(bmpOrji, x, y);
return yeniBmp;
}
}