ajax c# 上传文件,C#+ajax上传文件

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.IO;

using System.Text;

using System.Net;

public partial class activeuploadfile : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

string _fileNamePath = "";

_fileNamePath = Request.QueryString["upfile"].ToString();

_fileNamePath = Server.UrlDecode(_fileNamePath);

//开始上传

string _savedFileResult = UpLoadFile(_fileNamePath);

Response.Write(_savedFileResult);

Response.End();

}

protected string UpLoadFile(string fileNamePath)

{

int dindex= fileNamePath.IndexOf('.');

string fileNameExt = fileNamePath.Substring(dindex, fileNamePath.Length - dindex);

//生成将要保存的随机文件名

string fileName = GetFileName() + fileNameExt;

//物理完整路径

string toFilePath = "~/UpFile/";

string rootFullPath = Server.MapPath(toFilePath);

//检查是否有该路径 没有就创建

if (!Directory.Exists(rootFullPath))

{

Directory.CreateDirectory(rootFullPath);

}

///创建WebClient实例

WebClient myWebClient = new WebClient();

//设定windows网络安全认证 方法1

myWebClient.Credentials = CredentialCache.DefaultCredentials;

//要上传的文件

FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);

//FileStream fs = OpenFile();

BinaryReader r = new BinaryReader(fs);

//使用UploadFile方法可以用下面的格式

byte[] postArray = r.ReadBytes((int)fs.Length);

string toFileFullPath = rootFullPath + fileName;

Stream postStream = myWebClient.OpenWrite(toFileFullPath, "PUT");

if (postStream.CanWrite)

{

postStream.Write(postArray, 0, postArray.Length);

}

postStream.Close();

fs.Close();

myWebClient.Dispose();

return toFileFullPath;

}

protected string GetFileName()

{

Random rd = new Random();

StringBuilder serial = new StringBuilder();

serial.Append(DateTime.Now.ToString("yyyyMMddHHmmssff"));

serial.Append(rd.Next(0, 999999).ToString());

return serial.ToString();

}

}

aspx:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值