发布后,下载功能不能实现,找不到文件位置

just59277 2011-04-25 04:11:05
直接发布后,里面有个生成文件并下载功能,找不到要下载的文件了
看了下生成的路径,发现还在发布前的那个项目文件下
这是文件生成时存放的位置AppDomain.CurrentDomain.BaseDirectory + "TempFiles/"
然后下载时用Application.Current.Host.Source 获取服务器路径
这样为什么不会自动映射到我那个文件了?

上述操作,在VS调试的时候,可编译通过,正常下载,
请问这个该如何处理?
...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lighting_pig 2011-04-28
  • 打赏
  • 举报
回复
winform程序和web程序获取路径调用的函数是不一样的,你做网站用winform的方式去获取路径,当然会出错。

.net获取路径的函数很多的,你试一下我的

/// <summary>
/// 得到应用程序的目录
/// </summary>
/// <returns></returns>
public static string getAppPath()
{
//*如果当前调用的为WinForm程序则调用获取当前目录
string Path;
System.Web.HttpContext context = System.Web.HttpContext.Current;
if (context == null)
{
Path = System.AppDomain.CurrentDomain.BaseDirectory;
}
else //*如果属于Web调用则调用应用程序的路径
{
try
{
Path = context.Server.MapPath(context.Request.ApplicationPath);
}
catch
{
Path = System.AppDomain.CurrentDomain.BaseDirectory;
}
}
return Path;
}


ning823 2011-04-28
  • 打赏
  • 举报
回复
发布时候是不是加了虚拟路径,如果加了还得加上虚拟路径
lujunql 2011-04-27
  • 打赏
  • 举报
回复
使用WebClient 的下载功能,贴点代码参考一下!

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Browser;
using System.Xml.Linq;
using System.Windows.Media.Imaging;
using System.IO.IsolatedStorage;
using System.IO;
using System.Text;
using System.Xml;

namespace ATest
{
public class CDownFile
{

public DownEndHander DownEnd;

public CDownFile()
{

}
//下载文件
public void DownloadFile()
{
Uri uri = new Uri(HtmlPage.Document.DocumentUri, "/Test.xml");
WebClient internet = new WebClient();

internet.DownloadStringCompleted += new DownloadStringCompletedEventHandler(internet_DownloadStringCompleted);
internet.DownloadStringAsync(uri);

}


private void internet_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Cancelled || e.Error != null)
{
return;
}
else
{
//加入你的保存代码

//通知主程序下载完成
DownEnd();
}

}
}
}

just59277 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ning823 的回复:]
你是用什么方式下载的,文件流呢 还是直接根据地址
[/Quote]

HtmlPage.Window.Navigate(myUri, "_self");
ning823 2011-04-25
  • 打赏
  • 举报
回复
你是用什么方式下载的,文件流呢 还是直接根据地址

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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