我想在网页上做个链接下载,点击弹出文件下载窗口提示运行或者保存!如何做啊!急!!
我想在网页上做个链接下载,点击弹出文件下载窗口提示运行或者保存!
比如说网上的那些软件下载的页面那些软件下载列表!!
谢谢各位帮帮忙啊!!!
[解决办法]
打包成 .RAR 就行了
[解决办法]
ASP.NET上传和下载文件的代码
上传:(可以实现依次上传多个文件)
前台:
<%@ Register TagPrefix= "ew1 " Namespace= "eWorld.UI " Assembly= "eWorld.UI, Version=1.9.0.0, Culture=neutral, PublicKeyToken=24d65337282035f2 " %>
<%@ Page language= "c# " Codebehind= "webNewBid.aspx.cs " AutoEventWireup= "false " Inherits= "STAR.Web.main.Bidding.WebNewBid " %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN " >
<HTML>
<HEAD>
<title> WebNewBid </title>
<meta content= "Microsoft Visual Studio .NET 7.1 " name= "GENERATOR ">
<meta content= "C# " name= "CODE_LANGUAGE ">
<meta content= "JavaScript " name= "vs_defaultClientScript ">
<meta content= "http://schemas.microsoft.com/intellisense/ie5 " name= "vs_targetSchema ">
<LINK href= "http://www.webjx.com/css/style.css " type= "text/css " rel= "stylesheet ">
<script language= "JavaScript ">
function addFile()
{
var str = ' <BR> <INPUT type= "file " size= "50 " NAME= "File " runat= "server "> '
document.getElementById( 'MyFile ').insertAdjacentHTML( "beforeEnd ",str)
}
</script>
</HEAD>
<body MS_POSITIONING= "GridLayout ">
<form id= "Form1 " method= "post " runat= "server ">
<table class= "fullwidth " align= "center ">
<TR>
<TD vAlign= "top "> Attachment : </TD>
<TD>
<P id= "MyFile "> <input id= "filMyFile " type= "file " size= "50 " name= "filMyFile "> <input onclick= "addFile() " type= "button " value= "Add "> </P>
<asp:label id= "lblAttachmentError " runat= "server " ForeColor= "Red "> </asp:label> <BR>
<asp:button id= "btnUpload " runat= "server " Text= "Upload "> </asp:button> <asp:label id= "lblAttachment " runat= "server "> </asp:label> </TD>
</TR>
</table>
</form>
</body>
</HTML>
后台:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Collections.Specialized;
private void btnUpload_Click(object sender, System.EventArgs e)
{
HttpFileCollection files = HttpContext.Current.Request.Files;
for(int i = 0; i < files.Count; i++)
{
if (i <files.Count&&i <10)
{
if (files[i].FileName!= " " || files[i] != null)
{
int FileSize = 6*1024*1024;
HttpPostedFile myFile = files[i];
string strFilePath = myFile.FileName.ToString().Trim();
this.lblAttachmentError.Text = " < " + strFilePath + "> "; // Show file name
int nFindSlashPos = strFilePath.Trim().LastIndexOf( "\\ ")+1;
string UploadFileName=strFilePath.Substring(nFindSlashPos);
string FileName=this.txtWorkOrder.Text+ "_ "+string.Format( "{0:yyMMdd-hhmmss} ",DateTime.Now)+ "_ "+UploadFileName;
if(myFile.FileName.Trim() == " ") // Empty value in Browse Box
{
this.lblAttachmentError.Text= "No file selected. ";
return;
}
if(myFile.ContentLength != 0)
{
if (myFile.ContentLength > FileSize)
{
this.lblAttachmentError.Text= "File Size is limited to 6 MB only. ";
return;
}
this.lblAttachment.Text+= " <BR> "+FileName;
this.lblAttachmentError.Text= " ";
// string s=this.Request.PhysicalApplicationPath.ToString().Trim();
// string s1=this.Request.ApplicationPath.ToString().Trim();
// string s3=this.Server.MapPath( " ");
myFile.SaveAs(this.Request.PhysicalApplicationPath.ToString().Trim()+@ "\uploads\ " + FileName);
ArrayFileName[i]= FileName;
// // return;
}
else
{
this.lblAttachmentError.Text= "File not found. ";
return;
}
}
}
else
this.lblAttachmentError.Text= "Uploaded File exceed limits. ";
}
}
下载:(我只给了后太代码)
public bool ResponseFile(HttpRequest _Request, HttpResponse _Response, string _fileName, string _fullPath, long _speed)
{
try {
FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
BinaryReader br = new BinaryReader(myFile);
try {
_Response.AddHeader( "Accept-Ranges ", "bytes ");
_Response.Buffer = false;
long fileLength = myFile.Length;
long startBytes = 0;
Int16 pack = 10240;
Int16 sleep = Convert.ToInt16(Math.Floor(1000 * pack / _speed) + 1);
if (!(_Request.Headers( "Range ") == null)) {
_Response.StatusCode = 206;
char[] splitChar = new char[1];
splitChar(0) = "= ";
splitChar(1) = "- ";
string[][0] range = _Request.Headers( "Range ").Split( "a ");
startBytes = Convert.ToInt64(range(1));
}
_Response.AddHeader( "Content-Length ", (fileLength - startBytes).ToString());
if ((startBytes != 0)) {
_Response.AddHeader( "Content-Range ", string.Format( " bytes {0}-{1}/{2} ", startBytes, fileLength - 1, fileLength));
}
_Response.AddHeader( "Connection ", "Keep-Alive ");
_Response.ContentType = "application/octet-stream ";
_Response.AddHeader( "Content-Disposition ", "attachment;filename= " + HttpUtility.UrlEncode(_fileName, System.Text.Encoding.UTF8));
br.BaseStream.Seek(startBytes, SeekOrigin.Begin);
long maxCount = Convert.ToInt64(Math.Floor((fileLength - startBytes) / pack) + 1);
long i;
for (int i = 0; i <= maxCount; i++) {
if ((_Response.IsClientConnected)) {
_Response.BinaryWrite(br.ReadBytes(pack));
Thread.Sleep(sleep);
} else {
i = maxCount;
}
}
} catch (Exception e) {
return false;
} finally {
br.Close();
myFile.Close();
}
} catch {
return false;
}
}
不是我写的,在网上收集的,希望对你有帮助``
[解决办法]
<a href= "xx.rar "> 点击下载 </a>
只要你链接一些网页无法显示的东西就可以下载
不属于网页的那些东西,如xx.mp3什么的