首页 > 代码库 > (iframe实现)无刷新上传图片
(iframe实现)无刷新上传图片
Index.aspx 页面
<html>
<head>
<title>iframe实现无刷新上传图片</title>
</head>
<body>
<input id="photo" name="photo" type="text" style="display: none" />
<iframe id="upfile1" src="http://www.mamicode.com/addimage/Addimg2.aspx?name=photo" scrolling="no" frameborder="0" width="150px" height="150px"></iframe>
</body>
</html>
Addimg2.aspx页面
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.hidden
{
display: none;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<script type="text/javascript">
function show() {
document.getElementById(‘Button1‘).click();
}
</script>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传" CssClass="hidden" />
<div>
<asp:Image ID="img1" runat="server" CssClass="notShow" Height="80" ImageUrl="~/images/nopic.gif" />
</div>
<div>
<asp:FileUpload ID="FileUpload1" onchange="show();" runat="server" Width="70" />
</div>
</form>
</body>
</html>
Addimg2.aspx.cs 页面
protected void Button1_Click(object sender, EventArgs e)
{
String savePath = @"~\Upload\image\";
savePath = Server.MapPath(savePath);
if (!Directory.Exists(savePath))
{
Directory.CreateDirectory(savePath);
}
if (FileUpload1.HasFile)
{
String filename;
filename = FileUpload1.FileName;
savePath += filename;
FileUpload1.SaveAs(savePath);
//相对路径
string strUrl = UrlConvertor(savePath);
img1.ImageUrl = "~\\" + strUrl;
//获取文件后缀名
//string fileException = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();//获取后缀名
// 将相对路径返回给父页面
//Response.Write(string.Format("<script>window.parent.form1.photo.value=http://www.mamicode.com/‘{0}‘;</script>", strUrl));
}
}
/// <summary>
/// 本地路径转换成URL相对路径
/// </summary>
/// <param name="strImagesUrl"></param>
/// <returns></returns>
private string UrlConvertor(string strImagesUrl)
{
string tmpRootDir = Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//获取程序根目录
string imagesurl2 = strImagesUrl.Replace(tmpRootDir, ""); //转换成相对路径
imagesurl2 = imagesurl2.Replace(@"\", @"/");
imagesurl2 = string.Format("/{0}", imagesurl2);
return imagesurl2;
}