我在客户端上传一图片,现在用file上传控件传了几张图片,但是没有传到server去,因为这写图片目前还在客户端,用户有可能选取其中一些上传到server。现在我通过这个页面跳到另外的页面去了,回来的时候我还想这些都在。怎么办。我的解决方法是:每上传一次,保存图片的路径放到Session中。从另外的页面跳回来的时候,从Session中读取路径显示出来。但现在上传到Server出了问题。我用
system.Drawing.Image imgPicture = System.Drawing.Bitmap.FromFile(sFilePath);
然后以流的形式写到server去,这里因为c#语句在server端执行,这里的sFilePath是客户端路径,所以出错找不到。
本想用file.postfile.saveas的,但是我这里跳转页面回来后,已经没有这东西了,这file上传控件又不能保存其状态。各位大虾帮忙想想。多谢!
system.Drawing.Image imgPicture = System.Drawing.Bitmap.FromFile(sFilePath);
然后以流的形式写到server去,这里因为c#语句在server端执行,这里的sFilePath是客户端路径,所以出错找不到。
本想用file.postfile.saveas的,但是我这里跳转页面回来后,已经没有这东西了,这file上传控件又不能保存其状态。各位大虾帮忙想想。多谢!
{
///'遍历File表单元素
HttpFileCollection files = HttpContext.Current.Request.Files; /// '状态信息
System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
strMsg.Append("上传的文件分别是:<hr color=red>");
try
{
for(int iFile = 0; iFile < files.Count; iFile++)
{
///'检查文件扩展名字
HttpPostedFile postedFile = files[iFile];
string fileName, fileExtension;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != "")
{
fileExtension = System.IO.Path.GetExtension(fileName);
strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
strMsg.Append("上传文件的文件名:" + fileName + "<br>");
strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
///'可根据扩展名字的不同保存到不同的文件夹
///注意:可能要修改你的文件夹的匿名写入权限。
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("files/") + fileName);
}
}
strStatus.Text = strMsg.ToString();
}
catch(System.Exception Ex)
{
strStatus.Text = Ex.Message;
}
}
enctype="multipart/form-data" 这个必须加上
这个我知道,如果现在你上传了几张,放在页面里面,又跳到另外一个页面去了,然后返回到这个页面,HttpContext.Current.Request.Files不就都掉了吗?
然后在回来的时候取出这个流可能就可以了,没试过,但是因该没问题哄..
获得刚上传的文件的流,然后
session("mystream")=MyStream这样试试啦,可能可以.我没测试环境,你先看看!
然后在回来的时候取出这个流可能就可以了,没试过,但是因该没问题哄..
=================================================================狂晕,我要是服务器非扁你不可
在哪里有分帧 的技术的例子,指点一二,急!
<head>
<title></title>
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
<script language="JavaScript" src="./javascript/Common.js"></script>
<meta http-equiv="content-Style-Type" content="text/css">
</head>
<frameset cols="100%,*" framespacing="0" frameborder="0">
<frame src="main.aspx" name="frmMain" Scrolling="No" noresize>
<frame src="fileUpload.aspx" name="frmFileUpload" Scrolling="auto">
</frameset>
</html>其实是在一个页面里隐藏着一个frame,在这个页面里放着上传图片。