写在前面@H_502_1@
上传组件,发现了ng-upload的东东,推荐给大家。
系列文章@H_502_1@
ng-file-upload
支持上传进度,在上传的时候,可以取消或者中止,支持文件拖拽(HTML5),目录拖拽(weikit),CORS,PUT(html5)
/POST
方法
-
支持使用 Flash polyfill 跨浏览器上传 (HTML5
和 non-HTML5
) 。允许客户端在上传之前验证或者修改文件。
-
当文件的内容类型使用 $upload.http()
时,支持直接上传到 CouchDB,imgur 等等。支持 Angular httpPOST
/PUT
请求的进度事件,更多内容请看
-
Separate shim file loaded on demand for non-HTML5
code meaning no extra load/code if you just need HTML5 support. (Note that html5-shim.js is still needed for progress
event in HTML5
browsers)
-
轻量级,使用常规的 $http
来上传(支持非 HTML5 浏览器),所以提供所有 Angular $http
功能。
支持上传进度,在上传的时候,可以取消或者中止,支持文件拖拽(HTML5),目录拖拽(weikit),CORS,PUT(html5)
/POST
方法
支持使用 Flash polyfill 跨浏览器上传 (HTML5
和 non-HTML5
) 。允许客户端在上传之前验证或者修改文件。
当文件的内容类型使用 $upload.http()
时,支持直接上传到 CouchDB,imgur 等等。支持 Angular httpPOST
/PUT
请求的进度事件,更多内容请看
Separate shim file loaded on demand for non-HTML5
code meaning no extra load/code if you just need HTML5 support. (Note that html5-shim.js is still needed for progress
event in HTML5
browsers)
轻量级,使用常规的 $http
来上传(支持非 HTML5 浏览器),所以提供所有 Angular $http
功能。
上传文件的同时,需要的参数。
上传成功并在页面上进行预览。
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> ProcessRequest(HttpContext context)
{
context.Response.ContentType </span>= <span style="color: #800000;">"</span><span style="color: #800000;">application/json</span><span style="color: #800000;">"</span><span style="color: #000000;">;
</span><span style="color: #0000ff;">var</span> paras = context.Request.Params[<span style="color: #800000;">"</span><span style="color: #800000;">data</span><span style="color: #800000;">"</span><span style="color: #000000;">];
JObject jobj </span>=<span style="color: #000000;"> JObject.Parse(paras);
</span><span style="color: #0000ff;">string</span> strUserName = jobj[<span style="color: #800000;">"</span><span style="color: #800000;">username</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString();
HttpFileCollection files </span>=<span style="color: #000000;"> context.Request.Files;
</span><span style="color: #0000ff;">if</span> (files.Count > <span style="color: #800080;">0</span><span style="color: #000000;">)
{
</span><span style="color: #0000ff;">var</span> file = files[<span style="color: #800080;">0</span><span style="color: #000000;">];
</span><span style="color: #0000ff;">string</span> fileExt =<span style="color: #000000;"> Path.GetExtension(file.FileName);
</span><span style="color: #0000ff;">string</span> fileNewName = Guid.NewGuid() +<span style="color: #000000;"> fileExt;
</span><span style="color: #0000ff;">string</span> strRelativeDir = <span style="color: #800000;">"</span><span style="color: #800000;">/Upload/</span><span style="color: #800000;">"</span> +<span style="color: #000000;"> strUserName;
</span><span style="color: #0000ff;">string</span> strDir =<span style="color: #000000;"> context.Request.MapPath(strRelativeDir);
</span><span style="color: #0000ff;">if</span> (!<span style="color: #000000;">Directory.Exists(strDir))
{
Directory.CreateDirectory(strDir);
}
</span><span style="color: #0000ff;">string</span> strSavePath =<span style="color: #000000;"> Path.Combine(strDir,fileNewName);
file.SaveAs(strSavePath);
context.Response.Write(Path.Combine(strRelativeDir,fileNewName));
}
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">bool</span><span style="color: #000000;"> IsReusable
{
</span><span style="color: #0000ff;">get</span><span style="color: #000000;">
{
</span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;
}
}
}</span></pre>