Fineuploader和Razor

时间:2015-01-20 12:24:14

标签: c# json razor upload fine-uploader

我正在尝试使用Fineuploader上传图像,并使用 Razor (不是 MVC )处理它。

我得到的错误是:

  

尝试解析XHR响应文本时出错(意外令牌{)。

代码是这样的:

test.cshtml

        <!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>

<link href="assets/fine-uploader.css" rel="stylesheet">
        <link href="fineuploader-4.2.2.min.css" rel="stylesheet">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script src="jquery.fineuploader-4.2.2.js"></script>
        <script src="jquery.fineuploader-4.2.2.min.js"></script>

    </head>
    <body>
        <div id="fine-uploader"></div>

<script src="assets/fine-uploader.js"></script>
    <script type="text/template" id="qq-template">
        <div class="qq-uploader-selector qq-uploader">
            <div class="qq-total-progress-bar-container-selector qq-total-progress-bar-container">
                <div class="qq-total-progress-bar-selector qq-progress-bar qq-total-progress-bar"></div>
            </div>
            <div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone>
                <span>Drop files here to upload</span>
            </div>
            <div class="qq-upload-button-selector qq-upload-button">
                <div>Upload a file</div>
            </div>
            <span class="qq-drop-processing-selector qq-drop-processing">
                <span>Processing dropped files...</span>
                <span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span>
            </span>
            <ul class="qq-upload-list-selector qq-upload-list">
                <li>
                    <div class="qq-progress-bar-container-selector">
                        <div class="qq-progress-bar-selector qq-progress-bar"></div>
                    </div>
                    <span class="qq-upload-spinner-selector qq-upload-spinner"></span>
                    <span class="qq-edit-filename-icon-selector qq-edit-filename-icon"></span>
                    <span class="qq-upload-file-selector qq-upload-file"></span>
                    <input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text">
                    <span class="qq-upload-size-selector qq-upload-size"></span>
                    <a class="qq-upload-cancel-selector qq-upload-cancel" href="#">Cancel</a>
                    <a class="qq-upload-retry-selector qq-upload-retry" href="#">Retry</a>
                    <a class="qq-upload-delete-selector qq-upload-delete" href="#">Delete</a>
                    <span class="qq-upload-status-text-selector qq-upload-status-text"></span>
                </li>
            </ul>
        </div>
    </script>



    </body>
</html>

fine-uploader.js

    function createUploader() {
        var uploader = new qq.FineUploader({
          // Pass the HTML element here
         // element: document.getElementById('fine-uploader'),
          // or, if using jQuery
           element: $('#fine-uploader')[0],
          // Use the relevant server script url here
          // if it's different from the default “/server/upload”
          text: {
                    uploadButton: 'SELEZIONA FILE'
                },

          request: {
 `enter code here`             multiple: false,
              validation: {
              sizeLimit: 2147483648 //2GB
              },

          endpoint: 'FileUpload.cshtml',

          forceMultipart: false,
          customHeaders: { Accept: 'application/json' },
          debug: true,


              //
              callbacks: {
                            onComplete: function (id, fileName, responseJSON) {
                                if (responseJSON.success) {
                                    $('#imgPreview').html('<img src="~/Scripts/fineuploader/upload/' + filename + '" alt="' + filename + '">');
                                }
                            }
                        }

              //

          }
        });
 }

FineUpload.cshtml

    @{
    if(IsPost) {
                  var file = Request.Files[0];

             var fileName = Path.GetFileName(file.FileName);
                        var rootPath = Server.MapPath("~/Scripts/fineuploader/upload/");
                        file.SaveAs(Path.Combine(rootPath, fileName));

       //     Json.Write(fileSavePath, Response.Output);
             var json = Html.Raw(Json.Encode(new { link = @"~/Scripts/fineuploader/upload/" + fileName}));
                        //Response.ContentType = "text/plain";
                        Response.Write(json);


                        Response.ContentType = "application/json";
                        Response.Write("{\"success\":true}");
                        Response.End();
        }
}    

0 个答案:

没有答案