用户点击一个按钮,就下载别的网站上的一个文件,比如:http://www.163.com/aaa.exe,
这时需要客户端只看到aaa.exe字样,看不到http://www.163.com/aaa.exe的完整连接,
即使从网页的源代码中也看不到这个完整的链接。该怎么实现
这时需要客户端只看到aaa.exe字样,看不到http://www.163.com/aaa.exe的完整连接,
即使从网页的源代码中也看不到这个完整的链接。该怎么实现
解决方案 »
- MVC
- datalist控件实现读取数据库图片,列表显示前后台代码
- jquery .load() 的问题
- asp.net,以HTML的方式动态构造服务器端控件,急贴!
- 怎样向Web用户控件传参数?就象用URL传参数那样
- 关于asp.net 读数据性能的问题
- 如何掌握asp.net对手机的操作,开发手机可以浏览的网站,一切关于asp.net为手机提供服务的例子,顶者有分!分不够再加!
- ??????如何在.net下实现无服务器刷新的表单连动?在先等 100分!
- IIS 无法启动 启动 暂停 停止 三个按扭居然都不可用!怪事..
- .net不用gridview如何实现分页
- Insert语法错误
- 正则表达式问题,又是一个超难的。唉。
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace X
{
/// <summary>
/// Img 的摘要说明。
/// </summary>
public class Y : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Response.BinaryWrite(你的exe文件的2进制流);
Response.ContentType = "application/x-msdownload";
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
</form>
</body>
</HTML>------------
X.aspx
{
try
{
byte[] bytes = null;
WebRequest myWebRequest=WebRequest.Create(url); // Assign the response object of 'WebRequest' to a 'WebResponse' variable.
WebResponse myWebResponse=myWebRequest.GetResponse();
System.IO.Stream stream = myWebResponse.GetResponseStream();
stream.Read( bytes , 0 , (int)stream.Length ); <--执行到这句出错 return bytes; }
catch( System.Exception e )
{
return null;
}
}执行的时候报错:此流不支持查找操作。那么到底该怎么获得别人网站上面的exe或者rar文件的二进制流那?
请指教,谢谢
放送一个连接的ID到新窗口中,在新窗口中取实际的下载地址
最后将新窗口关闭
不过你要想不让屏蔽你的下载的地址可不容易
只要允许FlashGet下载就知道是在那里下的!
下载可以均指向一个页面,然后根据参数Response.BinaryWrite具体的文件。
Response.AddHeader("Content-Disposition", "attachment; filename="+filedownloadname);
Response.ContentType="................";
FileStream fs=new FileStream(Server.MapPath("../"+filedownloadname),FileMode.Open);
byte [] buffer=new byte[1024];
int n=fs.Read(buffer,0,buffer.Length);
while(n>0)
{
Response.BinaryWrite(buffer);
n=fs.Read(buffer,0,buffer.Length);
}
fs.Close();
Response.End();
我用下面的代码: Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + url);
Response.ContentType="application/x-msdownload";
FileStream fs=new FileStream( url ,FileMode.Open); 就会报错:不支持 URI 格式2. 在java中,用下面的语句来实现这个功能: DownFile(string filename)
{
string url=FindNodeInXml(filename) HttpClient.DownFile(url); } 我在.net中没有找到HttpClient.DownFile对应的方法,
用WebClient.DownloadFile( string url , string filename )
有三个问题:
(1). 必须指定第二个参数
(2). 运行过程中不能弹出下载对话框
(3). 下载的所有文件都是5k,显然不是要下载的文件,而且不能运行 那么这段java代码到底对应怎么样的c#代码那?
请高手指教,谢谢
WebResponse myWebResponse=myWebRequest.GetResponse();
System.IO.Stream stream = myWebResponse.GetResponseStream();
stream.Read( bytes , 0 , (int)stream.Length ); <--执行到这句出错==>myWebResponse.ContentLengthreturn bytes;
也不会象二进制流一样占内存重写地址你想怎么样就怎么样,给一个相对路径就是了
别人网站拿去也没用