【ASP.NET】C1Upload自定义Http处理
<wijmo:C1Upload ID="C1Upload1" runat="server" width="300px"Action="UploadHandler.ashx" />UploadHandler.ashx
public class UploadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string sDirectory = HttpContext.Current.Server.MapPath("~/Uploaded");
if (!Directory.Exists(sDirectory))
{
Directory.CreateDirectory(sDirectory);
}
var request = context.Request;
var requestType = request.Headers["Wijmo-RequestType"];
if (!String.IsNullOrEmpty(requestType) && requestType == "XMLHttpRequest")
{
var fileName = request.Headers["Wijmo-FileName"];
using (FileStream fs = new FileStream(sDirectory + "\\" + context.Server.UrlDecode(fileName), FileMode.Create))
{
var inputStream = context.Request.InputStream;
byte[] bytes = new byte[(int)inputStream.Length];
inputStream.Read(bytes, 0, (int)inputStream.Length);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
}
}
else
{
HttpFileCollection oFiles = context.Request.Files;
if (oFiles != null && oFiles.Count > 0)
{
for (int i = 0; i < oFiles.Count; i++)
{
string fileName = oFiles.FileName;
int idx = fileName.LastIndexOf("\\");
if (idx > -1)
{
fileName = fileName.Substring(idx + 1);
}
oFiles.SaveAs(sDirectory + "\\" + fileName);
}
context.Response.Write("Sucess");
}
else
{
context.Response.Write("Fail");
}
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
问题描述:UploadHandler.ashx不起任何作用。。。 回复 1楼holly.huang的帖子
看了下你的代码,推测wijmo.wijupload可能比较适合。
你可以看下它的Demo,有示例和代码。
http://wijmo.com/demo/explore/?widget=Upload&sample=Overview
如果对你的需求理解有误,请指出,我们再帮你看看。 回复 2楼Alice的帖子
为什么不能直接用C1Upload控件呢? 回复 3楼holly.huang的帖子
你在1楼提到的问题,已经测试重现了。
测试所使用的Demo链接:
http://demo.gcpowertools.com.cn/ComponentOne/ASPNET/ControlExplorer/C1Upload/CustomHandler.aspx
C1Upload使用Action属性没有到指定的http handler 去上传文件。
这个问题我会提交给产品组,如果有任何相关反馈会通知你。 回复 4楼Alice的帖子
希望尽快调整这个BUG 回复 5楼holly.huang的帖子
问题已经提交产品组。
很抱歉给你带来使用上的不方便。
同时也谢谢你的反馈。 回复 6楼Alice的帖子
后续情况如何?有回复不? 回复 7楼holly.huang的帖子
很抱歉久等了。
这个问题已经提交到BugList,如果确认修复会在下个版本发布,修复后我会通知你。
页:
[1]