加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在非MVC ASP.NET应用程序中使用Fine Uploader服务器端

发布时间:2020-12-16 06:26:45 所属栏目:asp.Net 来源:网络整理
导读:我在ASP.NET(而不是MVC)项目的aspx页面中的标记中有以下Fine Uploader代码: link href="../js/fineuploader/fineuploader-3.5.0.css" rel="stylesheet"script type="text/javascript" src="../js/fineuploader/fineuploader-3.5.0.js"/scriptscript type="t
我在ASP.NET(而不是MVC)项目的aspx页面中的标记中有以下Fine Uploader代码:

<link href="../js/fineuploader/fineuploader-3.5.0.css" rel="stylesheet">
<script type="text/javascript" src="../js/fineuploader/fineuploader-3.5.0.js"></script>
<script type="text/javascript">
   $(document).ready(function () {
      var uploader = new qq.FineUploader({
         element: $('#fine-uploader')[0],request: {  /* <-- THIS IS WHAT I NEED TO FIGURE OUT */
            endpoint: 'server/handleUploads'
         },autoUpload: true,multiple: false,text: {
            uploadButton: '<asp:Button ID="fineUploadButton" runat="server" CssClass="button" style="width:6;5" Text="Browse" />'
         },validation: {
            allowedExtensions: ['mp3','wav']
         }
      });
   });
</script>

对于客户端部分,这很好.我修改了fineuploader.css以获得我想要的精确外观(主要是).随着客户端部分的完成,我只需要通过处理请求端点来处理代码隐藏.

我在github页面上看过几个例子,但是对于ASP,没有非MVC的例子.即使是最简单的这些示例也涉及创建一个新类并从Controller类继承.由于我没有使用MVC进行此站点,我该如何处理服务器端方面呢?

我的客户端部分非常完整,如果需要,我可以在我的服务器端代码和组织上提供更多信息.

解决方法

处理Fine Uploader发送的请求非常简单.默认情况下,所有上载请求都是多部分编码的POST请求.默认情况下,所有参数也作为表单字段存在于请求有效内容中.

我不是ASP.NET开发人员,但在ASP.NET中处理MPE请求应该不会太困难.事实上,在大多数服务器端语言中,这是相当微不足道的.以下是应该处理此类请求的一些代码示例:

using System.Diagnostics;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;

public class UploadController : ApiController
{
    public async Task<HttpResponseMessage> PostFormData()
    {
        // Check if the request contains multipart/form-data.
        if (!Request.Content.IsMimeMultipartContent())
        {
            throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
        }

        string root = HttpContext.Current.Server.MapPath("~/App_Data");
        var provider = new MultipartFormDataStreamProvider(root);

        try
        {
            // Read the form data.
            await Request.Content.ReadAsMultipartAsync(provider);

            // This illustrates how to get the file names.
            foreach (MultipartFileData file in provider.FileData)
            {
                Trace.WriteLine(file.Headers.ContentDisposition.FileName);
                Trace.WriteLine("Server file path: " + file.LocalFileName);
            }
            return Request.CreateResponse(HttpStatusCode.OK);
        }
        catch (System.Exception e)
        {
            return Request.CreateErrorResponse(HttpStatusCode.InternalServerError,e);
        }
    }

}

请注意,您的服务器端代码还必须返回有效的JSON响应.这在Fine Uploader’s server-side readme中有更多描述.有一个an article on MSDN描述了在.NET应用程序中处理JSON.也许这里需要JsonConvert类.

您可以在http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-2阅读有关处理这些请求的更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读