Iam在ASP.NET中开发网站时很新颖,或者仅仅是一般的网站。错误:“无法找到路径的一部分”
我编写了一个网站,它在Localhost上工作得很好,但是当我把它放到网上时,当我尝试上传文件时出现此错误。
代码:
FileUpload_Billede.SaveAs(Server.MapPath("~/img/upload/") + FileUpload_Billede.FileName);
MakeThumb(FileUpload_Billede.FileName, "img/upload/", 295, "/img/sponsor/");
我已经把其他网站还是在同webhotel,我也用的FileUpload,尚未出现任何错误。
我在网上看了很多说它是IIS导致问题。我从来没有碰过IIS,这就是为什么我不明白为什么现在会有问题呢?在这种情况下,我不知道如何在IIS管理器程序中执行操作。我希望有人能帮助我,因为我完全迷失了。
让我知道你是否需要更多的信息。
编辑:我被要求编写MakeThumb方法的定义。那就是:
private void MakeThumb(string Filename, string UploadFolder, int bredde, string thumbuploadfolder)
{
// Kompliceret Kode fundet fra nettet om upload og skalering af billede.
// find det uploadede image
System.Drawing.Image OriginalImg = System.Drawing.Image.FromFile(Server.MapPath("~/") + UploadFolder + Filename);
// find højde og bredde på image
int originalWidth = OriginalImg.Width;
int originalHeight = OriginalImg.Height;
// bestem den nye bredde på det thumbnail som skal laves
int newWidth = bredde;
// beregn den nye højde på thumbnailbilledet
double ratio = newWidth/(double)originalWidth;
int newHeight = Convert.ToInt32(ratio * originalHeight);
Bitmap Thumb = new Bitmap(newWidth, newHeight, PixelFormat.Format24bppRgb);
Thumb.SetResolution(OriginalImg.HorizontalResolution, OriginalImg.VerticalResolution);
// Hvis billedet indeholder nogen form for transperans
//(mere eller mindre gennemsigtig, eller en gennemsigtig baggrund) bliver det gjort her
Thumb.MakeTransparent();
// opret det nye billede
Graphics ThumbMaker = Graphics.FromImage(Thumb);
ThumbMaker.InterpolationMode = InterpolationMode.HighQualityBicubic;
ThumbMaker.DrawImage(OriginalImg,
new Rectangle(0, 0, newWidth, newHeight),
new Rectangle(0, 0, originalWidth, originalHeight),
GraphicsUnit.Pixel);
// encoding
ImageCodecInfo encoder;
string fileExt = System.IO.Path.GetExtension(Filename);
switch (fileExt)
{
case ".png":
encoder = GetEncoderInfo("image/png");
break;
case ".gif":
encoder = GetEncoderInfo("image/gif");
break;
default:
// default til JPG
encoder = GetEncoderInfo("image/jpeg");
break;
}
EncoderParameters encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
// gem thumbnail i mappen /Images/Uploads/Thumbs/
Thumb.Save(Server.MapPath("~") + thumbuploadfolder + Filename, encoder, encoderParameters);
// Fjern originalbilledet, thumbnail mm, fra computerhukommelsen
OriginalImg.Dispose();
ThumbMaker.Dispose();
Thumb.Dispose();
}
请张贴另存为和MakeThumb函数定义。 –
SaveAs是默认定义的,不是由我定义的。我发布了MakeThumb的定义。 – Vexityy
在'FileUpload_Billede.SaveAs(Server.MapPath(“〜/ img/upload /”)+ FileUpload_Billede.FileName)中放置一个断点;'看看路径是什么 – Izzy