百分求jQuery+PHP ajax上传文件简单可用的代码.....0点到4点 试了n次都不行... 具体是这样的:一个页面只显示四张图片,每张图片下一个文件输入框,也要对类型进行验证,用ajax方式上传,上传成功后把该位置的图片换成刚刚上传的图片.越简单越好,网上都是些外国的框架,英语不想看.大侠们帮忙的说,差不多通宵了,我还是没弄出来,累得吐血了谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将表单提交到隐藏的iframe中就行了饿,ajax上传不了图片 这个和ajax关系不到,你可能不会写<form>里面是可以写多个文件的。整个表单也可以被Post到server。 !--隐藏的iframe来接受表单提交的信息--> <iframe name="ajaxifr" style="display:none;"></iframe> <!--这里设置target="ajaxifr",这样表单就提交到iframe里面了,和平时未设置target属性时默认提交到当前页面--> <!--注意一点的是使用iframe时在提交到的页面可以直接输出js来操作父页面的信息,一般的ajax提交文本信息时你需要返回信息,如果是js信息你还得eval下--> <form method="post" enctype="multipart/form-data" action="upload.ashx" target="ajaxifr" onsubmit="return check(this)"> 文件描述:<input type="text" name="des" /><br /> 选择文件:<input type="file" name="upfile" /><br /> <input type="submit" value="提交" /> </form> <!--放入此div用来实现上传的结果--> <div id="ajaxMsg"></div>private string Js(string v) {//此函数进行js的转义替换的,防止字符串中输入了'后造成回调输出的js中字符串不闭合 if (v == null) return ""; return v.Replace("'", @"\'"); } //下面就是一个简单的示例,保存上传的文件,如果要验证上传的后缀名,得自己写,还有写数据库什么的 public void ProcessRequest (HttpContext context) { HttpRequest Request = context.Request; HttpResponse Response = context.Response; HttpServerUtility Server = context.Server; //指定输出头和编码 Response.ContentType = "text/html"; Response.Charset = "utf-8"; HttpPostedFile f = Request.Files["upfile"];//获取上传的文件 string des = Request.Form["des"]//获取描述 ,newFileName=Guid.NewGuid().ToString();//使用guid生成新文件名 if (f.FileName == "")//未上传文件 Response.Write("<script>parent.UpdateMsg('','');</script>");//输出js,使用parent对象得到父页的引用 else { //保存文件 newFileName += System.IO.Path.GetExtension(f.FileName);//注意加上扩展名 try { f.SaveAs(Server.MapPath("~/uploads/" + newFileName));//如果要保存到其他地方,注意修改这里 //调用父过程更新内容,注意要对des变量进行js转义替换,繁殖字符串不闭合提示错误 Response.Write("<script>parent.UpdateMsg('" +Js(des)+ "','" + newFileName + "')</script>"); } catch { Response.Write("<script>alert('保存文件失败!\\n请检查文件夹是否有写入权限!');</script>");//如果保存失败,输出js提示保存失败 } } }这个网站有可以下载去http://www.code-design.cn/ 难道楼主想实现无刷新上传并替换DOM元素? js 文字的高亮显示 jquery datatable 相关问题 请教js高手,用来选择价格的slider特效能否贴些源码看看!!! 求Java混淆加密JavaScript的代码 js设CSS样式的问题 JavaScript中的With、setCapture和releaseCapture帮解释一下。 100分请各位高手帮小弟解决一个图片剪切的功能(急) 简单送分问题 请教关于函数体参数传递问题 請大家看這段代碼,如何在新窗口打開頁面? 关于JQuery或JS 让显示IE全屏,隐藏IE工具栏 [请教思路]关于2组数字互相过滤消号
整个表单也可以被Post到server。
<iframe name="ajaxifr" style="display:none;"></iframe>
<!--这里设置target="ajaxifr",这样表单就提交到iframe里面了,和平时未设置target属性时默认提交到当前页面-->
<!--注意一点的是使用iframe时在提交到的页面可以直接输出js来操作父页面的信息,一般的ajax提交文本信息时你需要返回信息,如果是js信息你还得eval下-->
<form method="post" enctype="multipart/form-data" action="upload.ashx" target="ajaxifr" onsubmit="return check(this)">
文件描述:<input type="text" name="des" /><br />
选择文件:<input type="file" name="upfile" /><br />
<input type="submit" value="提交" />
</form>
<!--放入此div用来实现上传的结果-->
<div id="ajaxMsg"></div>
private string Js(string v) {//此函数进行js的转义替换的,防止字符串中输入了'后造成回调输出的js中字符串不闭合
if (v == null) return "";
return v.Replace("'", @"\'");
}
//下面就是一个简单的示例,保存上传的文件,如果要验证上传的后缀名,得自己写,还有写数据库什么的
public void ProcessRequest (HttpContext context) {
HttpRequest Request = context.Request;
HttpResponse Response = context.Response;
HttpServerUtility Server = context.Server;
//指定输出头和编码
Response.ContentType = "text/html";
Response.Charset = "utf-8";
HttpPostedFile f = Request.Files["upfile"];//获取上传的文件
string des = Request.Form["des"]//获取描述
,newFileName=Guid.NewGuid().ToString();//使用guid生成新文件名 if (f.FileName == "")//未上传文件
Response.Write("<script>parent.UpdateMsg('','');</script>");//输出js,使用parent对象得到父页的引用
else { //保存文件
newFileName += System.IO.Path.GetExtension(f.FileName);//注意加上扩展名
try {
f.SaveAs(Server.MapPath("~/uploads/" + newFileName));//如果要保存到其他地方,注意修改这里 //调用父过程更新内容,注意要对des变量进行js转义替换,繁殖字符串不闭合提示错误
Response.Write("<script>parent.UpdateMsg('" +Js(des)+ "','" + newFileName + "')</script>");
}
catch {
Response.Write("<script>alert('保存文件失败!\\n请检查文件夹是否有写入权限!');</script>");//如果保存失败,输出js提示保存失败
}
}
}这个网站有可以下载去http://www.code-design.cn/