35

Вопрос по asp.net-mvc, jquery – Как мне получить плагин Uploadify jQuery для работы с ASP.NET MVC?

Я пытаюсь получить плагин jQuery,Uploadify, для работы с ASP.NET MVC.

У меня есть плагин, который хорошо показывает следующий фрагмент JavaScript:

<script type="text/javascript">
    $(document).ready(function() {
        $('#fileUpload').fileUpload({
            'uploader': '/Content/Flash/uploader.swf',
            'script': '/Placement/Upload',
            'folder': '/uploads',
            'multi': 'true',
            'buttonText': 'Browse',
            'displayData': 'speed',
            'simUploadLimit': 2,
            'cancelImg': '/Content/Images/cancel.png'
        });
    });
</script>

Кажется, все хорошо. Если вы заметили, «сценарий» для атрибута установлено значение my / Placement / Upload, который является моим контроллером мест размещения и моим действием загрузки.

Основная проблема заключается в том, что у меня возникают трудности с запуском этого действия для получения файла. Я установил точку останова для этого действия, и когда я выбираю файл для загрузки, он не выполняется.

Я пытался изменить сигнатуру метода на основеЭта статья:

public string Upload(HttpPostedFileBase FileData)
{
    /*
    *
    * Do something with the FileData
    *
    */
    return "Upload OK!";
}

Но это по-прежнему не срабатывает.

Может ли кто-нибудь помочь мне написать и получить подпись действия контроллера загрузки правильно, чтобы она действительно сработала? Затем я могу справиться с данными файла самостоятельно. Мне просто нужна помощь, чтобы получить метод действия.

  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от jitter
6 ответов
  • 0

    Error: User Rate Limit Exceeded

    public string Upload( HttpPostedFileBase[] fileData )
    

  • 2

    Error: User Rate Limit Exceeded

  • 0

    Error: User Rate Limit Exceeded

    @{
    ViewBag.Title = "Upload Email CSV";
    Layout = "~/Views/Shared/_Layout.cshtml";
    }
    <script type="text/javascript" src="@Url.Content("~/Scripts/Uploadify/jquery.uploadify.js")"></script>
    
    <script type="text/javascript">
    
    $(function () {
        var uploadUrl = "@Url.Content("~/UploadFile/UploadEmailCSV/")";
        var uploadSWF = "@Url.Content("~/Scripts/Uploadify/uploadify.swf")";
        var uploadifyButtonImage = "@Url.Content("~/Scripts/Uploadify/uploadify.swf")";
    
        $('#file_upload').uploadify({
            'fileSizeLimit': '0',
            'buttonImage': '/uploadify/browse-btn.png',
            'swf': uploadSWF,
            'uploader': uploadUrl,
            'onUploadSuccess': function(file, data, response) {
                alert('The file was saved to: ' + data);
            }
        });
    });
    </script>
    <h2>Upload a comma separated list of email addresses</h2>
    @using (Html.BeginForm("UploadEmailCSV", "UploadFile", FormMethod.Post, new { @class = "form-horizontal", @enctype = "multipart/form-data", @id = "frmUploadFiles" }))
    {
        <input type="file" name="file_upload" id="file_upload" />
    }
    

    public ActionResult UploadEmailCSV()
        {
            var uploa,dedFile = Request.Files["Filedata"];
    
            if (uploadedFile != null && uploadedFile.ContentLength > 0)
            {
                var filePath = Path.Combine(Server.MapPath("~/UploadedFiles"), string.Format("{0}_{1}{2}", Path.GetFileNameWithoutExtension(uploadedFile.FileName), DateTime.Now.Ticks, Path.GetExtension(uploadedFile.FileName)));
                uploadedFile.SaveAs(filePath);
                return Content(string.Format("{0}_{1}{2}", Path.GetFileNameWithoutExtension(uploadedFile.FileName), DateTime.Now.Ticks, Path.GetExtension(uploadedFile.FileName)));
    
            }
            return Content("Error Uploading file!");
        }
    

    Это оно!

  • 10

    Error: User Rate Limit Exceeded

    Итак, это:

    public string Upload(HttpPostedFileBase FileData)
    {
       //do something
    }
    

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Upload(HttpPostedFileBase FileData)
    {
       //do something
    }
    

  • 20

    Error: User Rate Limit Exceeded

    public string Upload(HttpPostedFileBase FileData) {}
    

    HTTP: // локальный / Размещение / Загрузить.

  • 2

    Error: User Rate Limit Exceeded

    [AcceptVerbs(HttpVerbs.Post)]
    public ContentResult Upload() {
        if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0) {
            HttpPostedFileBase postedFile = Request.Files[0];
            // Do something with it
        }
    }
    

    var mockHttpContext = mocks.StrictMock<HttpContextBase>();
    var mockRequest = mocks.StrictMock<HttpRequestBase>();
    var postedFile = mocks.StrictMock<HttpPostedFileBase>();
    
    var postedFileKeyCollection = mocks.StrictMock<HttpFileCollectionBase>();
    
    mockHttpContext.Expect(x => x.Request).Return(mockRequest).Repeat.Any();
    mockRequest.Expect(x => x.Files).Return(postedFileKeyCollection).Repeat.Any();
    
    postedFileKeyCollection.Expect(x => x[0]).Return(postedFile).Repeat.Any();
    postedFileKeyCollection.Expect(x => x.Count).Return(1);
    
    postedFile.Expect(f => f.ContentLength).Return(1024);
    postedFile.Expect(f => f.InputStream).Return(null);