NET iframe问题,在线等!!!!
我想实现在A.aspx中插入一个名为B的iframe控件,然后在A.aspx中上传一个图片,同时在B的iframe控件中显示这张图片? --------------------编程问答-------------------- 补充一下,上传图片用的是NET方法,我希望在上传的同时完成图片的显示 --------------------编程问答-------------------- 上传图片的同时读取图片路径显示就行了! --------------------编程问答-------------------- 关键是怎么显示 --------------------编程问答-------------------- 这里给你个代码参考下吧,没有用iframe,上传及显示图片
<div style="width: 100%; margin-top: 5px; line-height: 20px; padding-left: 10px;">
<asp:Image ID="Image1" runat="server" Width="155" Height="110" Style="border: solid 1px #454545;" />
<span style="color: Red; font-size: 12px;">可接受BMP、GIF、PNG、JPG格式,且不可大于300kb </span>
</div>
<div style="width: 100%; margin-top: 5px; line-height: 20px; padding-left: 10px;">
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="预览" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="上传" OnClick="Button2_Click" />
</div>
后台文件:
/// <summary>
/// 预览图片的事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
string name = FileUpload1.FileName;//获取客户端上的文件名称
string dummy = Server.MapPath("/manager/Images/preview/");//获得服务器上的虚拟路径
string fileSuffix = System.IO.Path.GetExtension(name).ToLower();//判断上传文件的类型-通过System.IO.Path.GetExtension()静态方法.ToLower()字体变小写
bool estimate = false;//判断文件格式
if (FileUpload1.HasFile)//是否有上传文件
{
string[] genreSuffix = { ".gif", ".bmp", ".jpg", ".png" };//图片的后缀名
for (int i = 0; i < genreSuffix.Length; i++)
{
if (fileSuffix == genreSuffix[i])
estimate = true;
}
if (FileUpload1.PostedFile.ContentLength >= 300 * 1024)//判断图片的大小
{
user.MessageShowBack("文件大小不允许超过300kb,并且为.gif或.bmp或.jpg或.png格式的文件");
}
}
if (estimate)
{
string filenameGUID = Guid.NewGuid().ToString() + fileSuffix;
FileUpload1.PostedFile.SaveAs(dummy + "\\" + filenameGUID);//将上载文件的内容保存到 Web 服务器上的指定路径
Image1.ImageUrl = "/manager/Images/preview/" + filenameGUID;
}
}
/// <summary>
/// 上传图片的事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button2_Click(object sender, EventArgs e)
{
if (FileUpload1.FileName.ToString() == string.Empty && Image1.ImageUrl == "/manager/skin/default/reg_suc_icon.gif")
{
user.MessageShowBack("图片上传不能为空!");
}
else
{
string serverPath = Server.MapPath("/manager/Images/uploadpicture/");//获得服务器上新的虚拟路径
string file = Image1.ImageUrl;//获得文件存放的路径
int intFile = file.LastIndexOf("/");//获得最后一个单词
string fileNamePath = file.Substring(intFile);//返回位于 String 对象中指定位置的子字符串
string fileName = fileNamePath.Remove(0, 1);
string imgurl = Server.MapPath(Image1.ImageUrl);//获取文件的原路径及名称
try
{
File.Move(imgurl, serverPath + fileName);//将指定文件移到新位置,并提供指定新文件名的选项
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('文件已上传')</script>");
}
catch
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('文件已存在')</script>");
return;
}
finally
{
Image1.ImageUrl = "/manager/Images/uploadpicture/" + fileName;
string s = Image1.ImageUrl;
dp.CommandText = "update review_users set picurl='" + s + "' where username='" + Session["Critique_username"].ToString() + "'";//新头像文件地址更换
dp.NonQuerySQL();
}
}
}
这个是很早以前做的,不用 iframe上传 加显示 --------------------编程问答-------------------- 我现在需要iframe来实现,也就是我想实现图片混排 --------------------编程问答-------------------- 1-最老的方法b页面在a页面上传成功后刷新下就出来了,
2-异步 --------------------编程问答-------------------- 目前我已经可以实现上面所说的操作,上传图片的同时将图片显示到iframe的网页中,但随即就会刷新掉,不知何解?
补充:.NET技术 , ASP.NET