xheditor上图片问题 文件上传的路径什么的你在upload.aspx中都配置好了嘛??还有你的文件是不是太大了?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会啊,才十几K这样呢<script runat="server"> /* * upload demo for c# .net 2.0 * * @requires xhEditor * @author Jediwolf<[email protected]> * @licence LGPL(http://www.opensource.org/licenses/lgpl-license.php) * * @Version: 0.1.3 (build 100504) * * 注1:本程序仅为演示用,请您务必根据自己需求进行相应修改,或者重开发 * 注2:本程序将HTML5上传与普通POST上传转换为byte类型统一处理 * */protected void Page_Load(object sender, EventArgs e){ Response.Charset = "UTF-8"; // 初始化一大堆变量 string inputname = "filedata";//表单文件域name string attachdir = "upload"; // 上传文件保存路径,结尾不要带/ int dirtype = 1; // 1:按天存入目录 2:按月存入目录 3:按扩展名存目录 建议使用按天存 int maxattachsize = 2097152; // 最大上传大小,默认是2M string upext = "txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid"; // 上传扩展名 int msgtype = 2; //返回上传参数的格式:1,只返回url,2,返回参数数组 string immediate = Request.QueryString["immediate"];//立即上传模式,仅为演示用 byte[] file; // 统一转换为byte数组处理 string localname = ""; string disposition = Request.ServerVariables["HTTP_CONTENT_DISPOSITION"]; string err = ""; string msg = "''"; if (disposition != null) { // HTML5上传 file = Request.BinaryRead(Request.TotalBytes); localname = Regex.Match(disposition, "filename=\"(.+?)\"").Groups[1].Value;// 读取原始文件名 } else { HttpFileCollection filecollection = Request.Files; HttpPostedFile postedfile = filecollection.Get(inputname); // 读取原始文件名 localname = postedfile.FileName; // 初始化byte长度. file = new Byte[postedfile.ContentLength]; // 转换为byte类型 System.IO.Stream stream = postedfile.InputStream; stream.Read(file, 0, postedfile.ContentLength); stream.Close(); filecollection = null; } if (file.Length == 0)err = "无数据提交"; else { if (file.Length > maxattachsize)err = "文件大小超过" + maxattachsize + "字节"; else { string attach_dir, attach_subdir, filename, extension, target; // 取上载文件后缀名 extension = GetFileExt(localname); if (("," + upext + ",").IndexOf("," + extension + ",") < 0)err = "上传文件扩展名必需为:" + upext; else { switch (dirtype) { case 2: attach_subdir = "month_" + DateTime.Now.ToString("yyMM"); break; case 3: attach_subdir = "ext_" + extension; break; default: attach_subdir = "day_" + DateTime.Now.ToString("yyMMdd"); break; } attach_dir = attachdir + "/" + attach_subdir + "/"; // 生成随机文件名 Random random = new Random(DateTime.Now.Millisecond); filename = DateTime.Now.ToString("yyyyMMddhhmmss") + random.Next(10000) + "." + extension; target = attach_dir + filename; try { CreateFolder(Server.MapPath(attach_dir)); System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(target), System.IO.FileMode.Create, System.IO.FileAccess.Write); fs.Write(file, 0, file.Length); fs.Flush(); fs.Close(); } catch (Exception ex) { err = ex.Message.ToString(); } // 立即模式判断 if (immediate == "1") target = "!" + target; target=jsonString(target); if(msgtype==1)msg = "'"+target+"'"; else msg = "{'url':'" + target + "','localname':'" + jsonString(localname) + "','id':'1'}"; } } } file = null; Response.Write("{'err':'" + jsonString(err) + "','msg':" + msg + "}");}string jsonString(string str) { str = str.Replace("\\", "\\\\"); str = str.Replace("/", "\\/"); str = str.Replace("'", "\\'"); return str;}string GetFileExt(string FullPath) { if (FullPath != "")return FullPath.Substring(FullPath.LastIndexOf('.') + 1).ToLower(); else return "";}void CreateFolder(string FolderPath){ if (!System.IO.Directory.Exists(FolderPath))System.IO.Directory.CreateDirectory(FolderPath);} </script> 在你的Default2.aspx页面下新建一个upload.aspx页面然后拷贝如下代码:<%@ Page Language="C#" AutoEventWireup="true" CodePage="65001" %><%@ Import namespace="System" %><%@ Import namespace="System.Collections" %><%@ Import namespace="System.Configuration" %><%@ Import namespace="System.Data" %><%@ Import namespace="System.Web" %><%@ Import namespace="System.Web.Security" %><%@ Import namespace="System.Web.UI" %><%@ Import namespace="System.Web.UI.HtmlControls" %><%@ Import namespace="System.Web.UI.WebControls" %><%@ Import namespace="System.Web.UI.WebControls.WebParts" %><script runat="server"> /* * upload demo for c# .net 2.0 * * @requires xhEditor * @author Jediwolf<[email protected]> * @licence LGPL(http://www.opensource.org/licenses/lgpl-license.php) * * @Version: 0.1.3 (build 100504) * * 注1:本程序仅为演示用,请您务必根据自己需求进行相应修改,或者重开发 * 注2:本程序将HTML5上传与普通POST上传转换为byte类型统一处理 * */protected void Page_Load(object sender, EventArgs e){ Response.Charset = "UTF-8"; // 初始化一大堆变量 string inputname = "filedata";//表单文件域name string attachdir ="../upload"; // 上传文件保存路径,结尾不要带/ int dirtype = 1; // 1:按天存入目录 2:按月存入目录 3:按扩展名存目录 建议使用按天存 int maxattachsize = 2097152; // 最大上传大小,默认是2M string upext = "txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid"; // 上传扩展名 int msgtype = 2; //返回上传参数的格式:1,只返回url,2,返回参数数组 string immediate = Request.QueryString["immediate"];//立即上传模式,仅为演示用 byte[] file; // 统一转换为byte数组处理 string localname = ""; string disposition = Request.ServerVariables["HTTP_CONTENT_DISPOSITION"]; string err = ""; string msg = "''"; if (disposition != null) { // HTML5上传 file = Request.BinaryRead(Request.TotalBytes); localname = Regex.Match(disposition, "filename=\"(.+?)\"").Groups[1].Value;// 读取原始文件名 } else { HttpFileCollection filecollection = Request.Files; HttpPostedFile postedfile = filecollection.Get(inputname); // 读取原始文件名 localname = postedfile.FileName; // 初始化byte长度. file = new Byte[postedfile.ContentLength]; // 转换为byte类型 System.IO.Stream stream = postedfile.InputStream; stream.Read(file, 0, postedfile.ContentLength); stream.Close(); filecollection = null; } if (file.Length == 0)err = "无数据提交"; else { if (file.Length > maxattachsize)err = "文件大小超过" + maxattachsize + "字节"; else { string attach_dir, attach_subdir, filename, extension, target; // 取上载文件后缀名 extension = GetFileExt(localname); if (("," + upext + ",").IndexOf("," + extension + ",") < 0)err = "上传文件扩展名必需为:" + upext; else { switch (dirtype) { case 2: attach_subdir = "month_" + DateTime.Now.ToString("yyMM"); break; case 3: attach_subdir = "ext_" + extension; break; default: attach_subdir = "day_" + DateTime.Now.ToString("yyMMdd"); break; } attach_dir = attachdir + "/" + attach_subdir + "/"; // 生成随机文件名 Random random = new Random(DateTime.Now.Millisecond); filename = DateTime.Now.ToString("yyyyMMddhhmmss") + random.Next(10000) + "." + extension; target = attach_dir + filename; try { CreateFolder(Server.MapPath(attach_dir)); System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(target), System.IO.FileMode.Create, System.IO.FileAccess.Write); fs.Write(file, 0, file.Length); fs.Flush(); fs.Close(); } catch (Exception ex) { err = ex.Message.ToString(); } // 立即模式判断 if (immediate == "1") target = "!" + target; target=jsonString(target); if(msgtype==1)msg = "'"+target+"'"; else msg = "{'url':'" + target + "','localname':'" + jsonString(localname) + "','id':'1'}"; } } } file = null; Response.Write("{'err':'" + jsonString(err) + "','msg':" + msg + "}");}string jsonString(string str) { str = str.Replace("\\", "\\\\"); str = str.Replace("/", "\\/"); str = str.Replace("'", "\\'"); return str;}string GetFileExt(string FullPath) { if (FullPath != "")return FullPath.Substring(FullPath.LastIndexOf('.') + 1).ToLower(); else return "";}void CreateFolder(string FolderPath){ if (!System.IO.Directory.Exists(FolderPath))System.IO.Directory.CreateDirectory(FolderPath);} </script> 关于上传接口错误有2中解决方案1.在Response.Write("{'err':'" + jsonString(err) + "','msg':" + msg + "}");之后加上Response.End(); 2.如果是前天代码和后台代码分离的,那么前台代码 只保留 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="upload.aspx.cs" Inherits="upload" %>,其他的删除。这样的话,返回的数据就只有 {'err':'','msg':{'url':'..\/upload\/day_140419\/201404190844274688.jpg','localname':'220.jpg','id':'1'}},没有其他内容了,编辑器就可以识别了 有关if判断 SqlDataSource的Insert方法怎么使用? 求全国所有省市县的数据库 都说CSDN好人多!有没有好人愿意帮我这个忙! 请教一个关于formview的问题 我的visio professional 2002 SR1 UML图里 怎么没有代码生成选项? 怎么看iis版本? 如何添加数据 谢谢EMADN各位朋友 帮帮我 在线等 怎样隐藏一个页面(*.aspx)?? 解决立即付账 Databind.eval中为什么不能重复绑定? ASP能跑,ASPX跑不起来 asp.net引用谷歌地图,急请帮忙O(∩_∩)O谢谢
/*
* upload demo for c# .net 2.0
*
* @requires xhEditor
* @author Jediwolf<[email protected]>
* @licence LGPL(http://www.opensource.org/licenses/lgpl-license.php)
*
* @Version: 0.1.3 (build 100504)
*
* 注1:本程序仅为演示用,请您务必根据自己需求进行相应修改,或者重开发
* 注2:本程序将HTML5上传与普通POST上传转换为byte类型统一处理
*
*/protected void Page_Load(object sender, EventArgs e)
{
Response.Charset = "UTF-8"; // 初始化一大堆变量
string inputname = "filedata";//表单文件域name
string attachdir = "upload"; // 上传文件保存路径,结尾不要带/
int dirtype = 1; // 1:按天存入目录 2:按月存入目录 3:按扩展名存目录 建议使用按天存
int maxattachsize = 2097152; // 最大上传大小,默认是2M
string upext = "txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid"; // 上传扩展名
int msgtype = 2; //返回上传参数的格式:1,只返回url,2,返回参数数组
string immediate = Request.QueryString["immediate"];//立即上传模式,仅为演示用
byte[] file; // 统一转换为byte数组处理
string localname = "";
string disposition = Request.ServerVariables["HTTP_CONTENT_DISPOSITION"]; string err = "";
string msg = "''";
if (disposition != null)
{
// HTML5上传
file = Request.BinaryRead(Request.TotalBytes);
localname = Regex.Match(disposition, "filename=\"(.+?)\"").Groups[1].Value;// 读取原始文件名
}
else
{
HttpFileCollection filecollection = Request.Files;
HttpPostedFile postedfile = filecollection.Get(inputname); // 读取原始文件名
localname = postedfile.FileName;
// 初始化byte长度.
file = new Byte[postedfile.ContentLength];
// 转换为byte类型
System.IO.Stream stream = postedfile.InputStream;
stream.Read(file, 0, postedfile.ContentLength);
stream.Close(); filecollection = null;
}
if (file.Length == 0)err = "无数据提交";
else
{
if (file.Length > maxattachsize)err = "文件大小超过" + maxattachsize + "字节";
else
{
string attach_dir, attach_subdir, filename, extension, target; // 取上载文件后缀名
extension = GetFileExt(localname);
if (("," + upext + ",").IndexOf("," + extension + ",") < 0)err = "上传文件扩展名必需为:" + upext;
else
{
switch (dirtype)
{
case 2:
attach_subdir = "month_" + DateTime.Now.ToString("yyMM");
break;
case 3:
attach_subdir = "ext_" + extension;
break;
default:
attach_subdir = "day_" + DateTime.Now.ToString("yyMMdd");
break;
}
attach_dir = attachdir + "/" + attach_subdir + "/"; // 生成随机文件名
Random random = new Random(DateTime.Now.Millisecond);
filename = DateTime.Now.ToString("yyyyMMddhhmmss") + random.Next(10000) + "." + extension; target = attach_dir + filename;
try
{
CreateFolder(Server.MapPath(attach_dir)); System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(target), System.IO.FileMode.Create, System.IO.FileAccess.Write);
fs.Write(file, 0, file.Length);
fs.Flush();
fs.Close();
}
catch (Exception ex)
{
err = ex.Message.ToString();
} // 立即模式判断
if (immediate == "1") target = "!" + target;
target=jsonString(target);
if(msgtype==1)msg = "'"+target+"'";
else msg = "{'url':'" + target + "','localname':'" + jsonString(localname) + "','id':'1'}";
}
}
} file = null;
Response.Write("{'err':'" + jsonString(err) + "','msg':" + msg + "}");
}
string jsonString(string str)
{
str = str.Replace("\\", "\\\\");
str = str.Replace("/", "\\/");
str = str.Replace("'", "\\'");
return str;
}
string GetFileExt(string FullPath)
{
if (FullPath != "")return FullPath.Substring(FullPath.LastIndexOf('.') + 1).ToLower();
else return "";
}void CreateFolder(string FolderPath)
{
if (!System.IO.Directory.Exists(FolderPath))System.IO.Directory.CreateDirectory(FolderPath);
}
</script>
然后拷贝如下代码:<%@ Page Language="C#" AutoEventWireup="true" CodePage="65001" %>
<%@ Import namespace="System" %>
<%@ Import namespace="System.Collections" %>
<%@ Import namespace="System.Configuration" %>
<%@ Import namespace="System.Data" %>
<%@ Import namespace="System.Web" %>
<%@ Import namespace="System.Web.Security" %>
<%@ Import namespace="System.Web.UI" %>
<%@ Import namespace="System.Web.UI.HtmlControls" %>
<%@ Import namespace="System.Web.UI.WebControls" %>
<%@ Import namespace="System.Web.UI.WebControls.WebParts" %><script runat="server">
/*
* upload demo for c# .net 2.0
*
* @requires xhEditor
* @author Jediwolf<[email protected]>
* @licence LGPL(http://www.opensource.org/licenses/lgpl-license.php)
*
* @Version: 0.1.3 (build 100504)
*
* 注1:本程序仅为演示用,请您务必根据自己需求进行相应修改,或者重开发
* 注2:本程序将HTML5上传与普通POST上传转换为byte类型统一处理
*
*/protected void Page_Load(object sender, EventArgs e)
{
Response.Charset = "UTF-8"; // 初始化一大堆变量
string inputname = "filedata";//表单文件域name
string attachdir ="../upload"; // 上传文件保存路径,结尾不要带/
int dirtype = 1; // 1:按天存入目录 2:按月存入目录 3:按扩展名存目录 建议使用按天存
int maxattachsize = 2097152; // 最大上传大小,默认是2M
string upext = "txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid"; // 上传扩展名
int msgtype = 2; //返回上传参数的格式:1,只返回url,2,返回参数数组
string immediate = Request.QueryString["immediate"];//立即上传模式,仅为演示用
byte[] file; // 统一转换为byte数组处理
string localname = "";
string disposition = Request.ServerVariables["HTTP_CONTENT_DISPOSITION"]; string err = "";
string msg = "''";
if (disposition != null)
{
// HTML5上传
file = Request.BinaryRead(Request.TotalBytes);
localname = Regex.Match(disposition, "filename=\"(.+?)\"").Groups[1].Value;// 读取原始文件名
}
else
{
HttpFileCollection filecollection = Request.Files;
HttpPostedFile postedfile = filecollection.Get(inputname); // 读取原始文件名
localname = postedfile.FileName;
// 初始化byte长度.
file = new Byte[postedfile.ContentLength];
// 转换为byte类型
System.IO.Stream stream = postedfile.InputStream;
stream.Read(file, 0, postedfile.ContentLength);
stream.Close(); filecollection = null;
}
if (file.Length == 0)err = "无数据提交";
else
{
if (file.Length > maxattachsize)err = "文件大小超过" + maxattachsize + "字节";
else
{
string attach_dir, attach_subdir, filename, extension, target; // 取上载文件后缀名
extension = GetFileExt(localname);
if (("," + upext + ",").IndexOf("," + extension + ",") < 0)err = "上传文件扩展名必需为:" + upext;
else
{
switch (dirtype)
{
case 2:
attach_subdir = "month_" + DateTime.Now.ToString("yyMM");
break;
case 3:
attach_subdir = "ext_" + extension;
break;
default:
attach_subdir = "day_" + DateTime.Now.ToString("yyMMdd");
break;
}
attach_dir = attachdir + "/" + attach_subdir + "/"; // 生成随机文件名
Random random = new Random(DateTime.Now.Millisecond);
filename = DateTime.Now.ToString("yyyyMMddhhmmss") + random.Next(10000) + "." + extension; target = attach_dir + filename;
try
{
CreateFolder(Server.MapPath(attach_dir)); System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(target), System.IO.FileMode.Create, System.IO.FileAccess.Write);
fs.Write(file, 0, file.Length);
fs.Flush();
fs.Close();
}
catch (Exception ex)
{
err = ex.Message.ToString();
} // 立即模式判断
if (immediate == "1") target = "!" + target;
target=jsonString(target);
if(msgtype==1)msg = "'"+target+"'";
else msg = "{'url':'" + target + "','localname':'" + jsonString(localname) + "','id':'1'}";
}
}
} file = null;
Response.Write("{'err':'" + jsonString(err) + "','msg':" + msg + "}");
}
string jsonString(string str)
{
str = str.Replace("\\", "\\\\");
str = str.Replace("/", "\\/");
str = str.Replace("'", "\\'");
return str;
}
string GetFileExt(string FullPath)
{
if (FullPath != "")return FullPath.Substring(FullPath.LastIndexOf('.') + 1).ToLower();
else return "";
}void CreateFolder(string FolderPath)
{
if (!System.IO.Directory.Exists(FolderPath))System.IO.Directory.CreateDirectory(FolderPath);
}
</script>
1.在Response.Write("{'err':'" + jsonString(err) + "','msg':" + msg + "}");之后加上Response.End();
这样的话,返回的数据就只有 {'err':'','msg':{'url':'..\/upload\/day_140419\/201404190844274688.jpg','localname':'220.jpg','id':'1'}},没有其他内容了,编辑器就可以识别了