下传上载附件的服务 中文乱码有关问题 在线求解
上传下载附件的服务 中文乱码问题 在线求解
具体如下:
上传用的RedControl的redUpload .
下载服务:
在web.config中配置如下
问题是: webconfig中加了requestEncoding="gb2312"之后上传就成乱码, 不加的话下载就不能下载中文的。。
困扰很久,求解.....在线等。
------解决方案--------------------
上传时重新转换下格式
------解决方案--------------------
没有试过中文上传,你的意思是中文名文件上传,还是内容?另外,如果不添加gb2312无法下载中文是什么意思?会提示错误么?
具体如下:
上传用的RedControl的redUpload .
下载服务:
- C# code
string fileName = HttpUtility.UrlDecode(context.Request.QueryString["FileName"], Encoding.GetEncoding("UTF-8")); //context.Response.ContentEncoding = System.Text.Encoding.Unicode; string relativefilePath = context.Request.QueryString["FilePath"]; //文件相对路径 string filePath = context.Server.MapPath(relativefilePath); string strType = context.Request.QueryString["ViewType"]; FileInfo fileInfo = new FileInfo(filePath); if (fileInfo.Exists) { context.Response.Clear(); context.Response.ClearHeaders(); context.Response.Buffer = true; context.Response.Charset = "GB2312"; context.Response.ContentType = "application/octet-stream"; context.Response.ContentEncoding = System.Text.Encoding.UTF8; //弹出下载框 if (strType != "View") { context.Response.AppendHeader("Content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); } else { //直接打开 context.Response.AppendHeader("Content-disposition", "inline;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); } context.Response.AddHeader("Content-Length", fileInfo.Length.ToString()); context.Response.WriteFile(filePath); context.Response.Flush(); context.Response.End(); } }
在web.config中配置如下
- XML code
<globalization requestEncoding="gb2312" responseEncoding="utf-8" fileEncoding="utf-8"/>
问题是: webconfig中加了requestEncoding="gb2312"之后上传就成乱码, 不加的话下载就不能下载中文的。。
困扰很久,求解.....在线等。
------解决方案--------------------
上传时重新转换下格式
------解决方案--------------------
没有试过中文上传,你的意思是中文名文件上传,还是内容?另外,如果不添加gb2312无法下载中文是什么意思?会提示错误么?