我想请教一下,Image类里的FromFile方法中,所传递的路径到底应该是什么路径?

Kimmy914 2012-12-03 11:18:13
情况是这样的,我想把自己网站中的某个图片文件转成二进制数据流,所以打算新建一个Image对象,使用FromFile方法获得文件,再用Save方法变为二进制,但是无论在FromFile后面写入什么路径,运行的时候都会报错,比如:
1,我直接写自己的硬盘路径,比如“C:\\Users\\Administrator\\Pictures\\1.jpg",会报错找不到文件
2,我写网站路径,比如"http://wwww.xxxxx.com/xxx/1.jpg"会提示URI格式错误
3,如果用Request.URL.Path或者Sever.Mappath这些同样也不行。

实在是不知道该怎么办了,特此来请教一下各位,谢谢。
...全文
821 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
ResolveUrl("dir1/dir2/1.jpg");
Kimmy914 2012-12-03
  • 打赏
  • 举报
回复
引用 4 楼 hjywyj 的回复:
Mappath("dir1/dir2/1.jpg");
刚刚试着用了一下,还是提示找不到路径 我看了一下,是因为引用的路径不对 现在是这个情况,我的页面地址是www.abc.com/dir3/1.aspx,而图片地址是www.abc.com/dir1/dir2/1.jpg 所以如果我使用Mappath("dir1/dir2/1.jpg") 的话,程序引用的路径就会变成dir3/dir1/dir2/.jpg了
蝶恋花雨 2012-12-03
  • 打赏
  • 举报
回复
Bitmap image1 = (Bitmap) Image.FromFile(@"C:\Documents and Settings\" +@"All Users\Documents\My Music\music.bmp", true); 用完Image这个记得及时释放。否则报文件xxx正由另一进程使用,因此该进程无法访问该文件
  • 打赏
  • 举报
回复
Mappath("dir1/dir2/1.jpg");
Kimmy914 2012-12-03
  • 打赏
  • 举报
回复
我知道应该如何转为byte[],但是现在的问题就是无法初始化这个Image对象 2楼说应该用Server.MapPath 那假如我的图片的绝对路径是http://www.abc.com/dir1/dir2/1.jpg的话,MapPath里应该怎么写呢?
  • 打赏
  • 举报
回复
先得到byte[] 然后转为bitmap就行 Bitmap bmp = Bitmap.FromStream(new System.IO.MemoryStream(bt)) as Bitmap;
bdmh 2012-12-03
  • 打赏
  • 举报
回复
服务器上不能用盘符,用 Server.MapPaht去访问,肯定可以
Kimmy914 2012-12-03
  • 打赏
  • 举报
回复
嗯,解决了,非常感谢各位的帮助!
  • 打赏
  • 举报
回复
如果你的网站根目录是Web,图片放在web/pic下面,那你就用Server.MapPath("~/pic/1.jpg")试试
  • 打赏
  • 举报
回复
Server.MapPath("~/dir1/dir2/1.jpg"); 你确定没有打错?
Kimmy914 2012-12-03
  • 打赏
  • 举报
回复
现在的情况就是我的页面是在application of brand文件夹底下,而图片是在pic后面那一串里,pic和application of brand 都是在根目录下的同级目录 就是不想让目录里出现那个application of brand 啊
Kimmy914 2012-12-03
  • 打赏
  • 举报
回复
引用 10 楼 jadier 的回复:
C# code??12//使用符号~/定位到根目录Server.MapPath("~/dir1/dir2/1.jpg");


还是不行,识别不出“~”这个符号,都把人无奈死了
  • 打赏
  • 举报
回复
多好用的~啊楼主,哎~~~
  • 打赏
  • 举报
回复

//使用符号~/定位到根目录
Server.MapPath("~/dir1/dir2/1.jpg");
真相重于对错 2012-12-03
  • 打赏
  • 举报
回复
调试 调试
Kimmy914 2012-12-03
  • 打赏
  • 举报
回复
引用 7 楼 hjywyj 的回复:
ResolveUrl("dir1/dir2/1.jpg");
用Page.ResolveUrl取出的还是dir3/dir1/dir2/1.jpg

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧