protected void BtnUp_Click(object sender, EventArgs e)
{
if (FileUpload.HasFile)
{
string savePath = Server.MapPath("~/upload/")//指定上传文件在服务器上缺姿念的保存路径
//检查服务伏困器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(savePath))
{
System.IO.Directory.CreateDirectory(savePath)
}
savePath = savePath + "\\" + FileUpload.FileName
FileUpload.SaveAs(savePath)
LabMsg.Text = string.Format("册局<a href='upload/{0}'>upload/{0}</a>", FileUpload.FileName)
}
else
{
LabMsg.Text = "没有选择文件!"
}
}
在firefox上,input(type=file)默认获取到的value值就是文件名。在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。
示例代码:
<form action="" method="get" onSubmit="return false">
<input type="text"缓兆袭 name="test" id="test">
<input type="file" name="testFile" onChange="if(this.value)insertTitle(this.value)">
<input type="submit" value="猜返提交">
</form>
<script language="扰兄javascript">
function insertTitle(path){
var test1 = path.lastIndexOf("/") //对路径进行截取
var test2 = path.lastIndexOf("\\") //对路径进行截取
var test= Math.max(test1, test2)
if(test<0){
document.getElementById("test").value = path
}else{
document.getElementById("test").value = path.substring(test + 1)//赋值文件名
}
}
</script>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)