页面导出word图片不全的问题

lyboyc 2010-01-15 10:43:04

protected void Button2_Click(object sender, EventArgs e)
{

System.IO.StringWriter SW = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter HTW = new System.Web.UI.HtmlTextWriter(SW);
Page.EnableViewState = false;
Page.Form.RenderControl(HTW);
//Page为要导出的对象,当前是Page,如果是DataGrid,DataList等都可以
string pageHtml = SW.ToString();
string pageHtml = ReplaceText(filecontent, getmodel());
int startIndex = pageHtml.IndexOf("<div id=\"PrintA\">");
int endIndex = pageHtml.LastIndexOf("</div>");
int lenth = endIndex - startIndex;
pageHtml = pageHtml.Substring(startIndex, lenth);
pageHtml = pageHtml.Replace("../images/1.jpg", Server.MapPath("../images/1.jpg"));
Response.Buffer = true;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/ms-word";
//Response.ContentType是输出流的 HTTP MIME 类型
//Response.ContentType --- word文件
//application/vnd.ms-excel --- excel文件
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.AddHeader("Content-Disposition", "attachment;filename=" + xxxx + ".doc");
// Response.AddHeader("content-length", file.Length.ToString());
//attachment --- 作为附件下载
//inline --- 在线打开
//filename如过是中文,则可以用HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8)
//进行进行编码,以解决文件名乱码的问题
Response.Write(pageHtml.ToString());
Response.Flush();
Response.Close();

}


现在的问题是,图片地址路径替换Server.MapPath("../images/1.jpg")
换成的地址是服务器上图片路径的绝对地址,而不是客户端的。
而这个路径又不能直接写死(不同用户看到的服务器地址是不一样的)。
怎么得到用户侧看到的服务器图片的地址?
...全文
240 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
生活 2010-01-15
  • 打赏
  • 举报
回复
你把图片放到空间里,或者一个网上可以的路径。直接调用网上的就可以了。
lyboyc 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lifeng_2009 的回复:]
你把图片放到空间里,或者一个网上可以的路径。直接调用网上的就可以了。
[/Quote]
!汗,显然不能用这个方法,楼上的连问题都没看完。
我这本身就是网站,图片当然在有网上路径。
问题是,不同地方的用户看到我网站的IP是不同的。
所以不能写死。
用Uri MyUrl = Request.UrlReferrer;获取到客户端看到的地址和端口等,问题已经解决

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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