0

画像をローカルディレクトリに保存し続けるか、まったく保存しません。エラーは発生しません。私の知る限り、ローカル ドライブとホストの間に関係はありません。私のページはすべてホストにあり、正常に動作しています。しかし、このページを作成する前に、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;
    }

  }
4

1 に答える 1