0

マルチファイルアップロードを使用して、問題なくASP.Netにファイルをアップロードしました。しかし、今はサムネイルを作成するなどの機能を追加したいのですが、以下にアップロードするのは私のコードです:

try
        {
            string _path = "~/photos/realimg/";
            string _thumPath = "~/photos/thumbimg/";
            // Get the HttpFileCollection
            HttpFileCollection hfc = Request.Files;
            for (int i = 0; i < hfc.Count; i++)
            {
                HttpPostedFile hpf = hfc[i];
                if (hpf.ContentLength > 0)
                {
                    _path += System.IO.Path.GetFileName(hpf.FileName);
                    _thumPath += System.IO.Path.GetFileName(hpf.FileName.Insert(0, "thumb_"));
                    hpf.SaveAs(Server.MapPath(_path));
                    SavePicPath(_path);
                    System.Drawing.Image realImg = System.Drawing.Image.FromFile(Server.MapPath(_path));

                    Int32 rH = realImg.Height;
                    Int32 rW = realImg.Width;

                    Int32 fW = 170;
                    Int32 fH = (Int32)Math.Floor((double)rH * (fW / rW));
                    System.Drawing.Image thumbimg = realImg.GetThumbnailImage(fW, fH, null, IntPtr.Zero);

                    thumbimg.Save(Server.MapPath(_thumPath));
                    SavePicPath(_thumPath);

                }
            }
        }
        catch
        {
        }

GetThumbnailImage に到達するたびに、「メモリ不足」というエラーが表示されます。修正または何が間違っていますか

4

1 に答える 1

1

int値を(floatまたはdouble)に変更します。fw/rwここでは、floatまたはdouble値よりもint値を返すと思います。

于 2012-08-13T13:55:41.407 に答える