asp.net 如何使用数据流上传文件到服务器啊?当用到file控件的时候点击确认按钮会清空路径
展开全部
public static string FileUpload(string f1)
{
string result = "";
string filePath = f1;
string filename = "";
FileInfo file = new FileInfo(filePath);
string fileExtenName = file.Extension;
//string fileNewName = DateTime.Now.ToString("yyyyMMddHHmmss") + fileExtenName;
int ipos = f1.LastIndexOf("\\");
if (ipos.ToString() != "-1")
{
filename = f1.Substring(ipos);
}
else
{
filename = f1;
}
string aFirstName = filename.Substring(filename.LastIndexOf("\\") + 1, (filename.LastIndexOf(".") - filename.LastIndexOf("\\") - 1)) + file.Extension;
string fileSavePath = System.Web.HttpContext.Current.Server.MapPath(@"~\Upload\") + aFirstName;
///真正上传就是从这里开始,这是ASP.NET,记得winform也是一样的
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite);
//把文件流中转化成字节数组
byte[] imageBytes = new byte[(int)fs.Length];
fs.Read(imageBytes, 0, imageBytes.Length);
fs.Close();
MemoryStream ms = new MemoryStream(imageBytes);//定义并实例化一个内存流,以存放提交上来的字节数组。
FileStream fss = new FileStream(fileSavePath, FileMode.Create);
ms.WriteTo(fss);
fss.Close();
ms.Close();
return result = "Upload/" + aFirstName;
}
{
string result = "";
string filePath = f1;
string filename = "";
FileInfo file = new FileInfo(filePath);
string fileExtenName = file.Extension;
//string fileNewName = DateTime.Now.ToString("yyyyMMddHHmmss") + fileExtenName;
int ipos = f1.LastIndexOf("\\");
if (ipos.ToString() != "-1")
{
filename = f1.Substring(ipos);
}
else
{
filename = f1;
}
string aFirstName = filename.Substring(filename.LastIndexOf("\\") + 1, (filename.LastIndexOf(".") - filename.LastIndexOf("\\") - 1)) + file.Extension;
string fileSavePath = System.Web.HttpContext.Current.Server.MapPath(@"~\Upload\") + aFirstName;
///真正上传就是从这里开始,这是ASP.NET,记得winform也是一样的
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite);
//把文件流中转化成字节数组
byte[] imageBytes = new byte[(int)fs.Length];
fs.Read(imageBytes, 0, imageBytes.Length);
fs.Close();
MemoryStream ms = new MemoryStream(imageBytes);//定义并实例化一个内存流,以存放提交上来的字节数组。
FileStream fss = new FileStream(fileSavePath, FileMode.Create);
ms.WriteTo(fss);
fss.Close();
ms.Close();
return result = "Upload/" + aFirstName;
}
更多追问追答
追问
使用数据流会有权限问题,该如何通过?
追答
使用数据流是没法把客户端的文件上传到服务器的。你想想,如果可以,黑客是不是就可以随便从你电脑里面抓去文件了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询