2011-12-19 137 views
0

我有以下代码从FTP服务器下载文件。在服务器端调用服务器端代码

Sub DownloadFile_Sap() 
     Dim remoteuri As String = "http://appsrv01.shakarganj.com.pk:7778/reports/rwservlet?reptest&report=sap_dashboard" 
     Dim filename As String = Server.MapPath("~/Files/rwservlet_reptest&report=sap_dashboard.pdf") 
     Dim mywebClient As New Net.WebClient() 
     mywebClient.DownloadFile(remoteuri, filename) 
    End Sub 

然后调用它锚标记象下面这样:

<a id="A1" href="http://202.125.144.34:83/Files/rwservlet_reptest&report=sap_dashboard.pdf" target=_blank 
     onmouseout="DownloadFile_Sap" title="SAP" runat="server">SAP</a> 

但是当我点击锚它打开链接,但不会从服务器上下载文件。问题是什么?任何人都可以请给我一个解决方案。

回答

0

首先,你可以通过改变HREF类似如下的结构避免对HREF双击问题导航到。

DownloadFile_SapClient的是,在新窗口中打开请求的URL的JavaScript函数:

function DownloadFile_SapClient() 
{ 
    window.open('http://202.125.144.34:83/Files/rwservlet_reptest&report=sap_dashboard.pdf', '_blank'); 

    // Don't navigate to the hyperlink 
    return false; 
} 
+0

先生U dnt获得我的问题正确.... Actualy先生我想要做的文件下载进度应该在后台浏览器控制台上,点击或href上一个下载的文件应该打开用户dnt需要等待下载或打开文件。方法你告诉我已经用这种方式用户必须等待文件下载。因为我有大量的数据要下载的报告,请告诉我另一种方案 – 2011-12-19 06:49:09

0

然后,您可以对您的方法DownloadFile_Sap()(这将是一种Web方法)进行jQuery AJAX调用,然后通过鼠标悬停以开始下载。

<A HREF='#' onclick='return DownloadFile_SapClient()' title="SAP" runat="server">SAP</a> 

如果返回从onclick事件假,URL不会:

+0

但我想了,而不是点击呼叫Servercode鼠标因为点击两个事件触发在一起HREF链接得到的时间是执行,我想打电话给href在一秒钟和打开href后,当鼠标移出文件开始在后端下载 – 2011-12-19 05:26:03

+0

所以你可以给我一个例子或一段代码来调用我的方法在鼠标事件 – 2011-12-19 05:56:46