Почему uploadify и asp.net mvc 2 не подходят для меня? - PullRequest
2 голосов
/ 27 апреля 2010

Прежде всего, я проверил все темы SO и погуглил свои мозги. Должно быть, я упускаю что-то очевидное. Буду очень признателен за помощь! Вот что у меня есть.

UploadController.cs

using System.Web;
using System.Web.Mvc;

namespace NIMDocs.Controllers
{
    public class UploadController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }


        public string Processed(HttpPostedFileBase FileData)
        {
            // DO STUFF

            return "DUHR I AM SMART";
        }

    }
}

Индекс для загрузки

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ITS A TITLE </title>
    <script src="../../Content/jqueryPlugins/uploadify/jquery-1.3.2.min.js" type="text/javascript"></script>
    <script src="../../Content/jqueryPlugins/uploadify/swfobject.js" type="text/javascript"></script>
    <script src="../../Content/jqueryPlugins/uploadify/jquery.uploadify.v2.1.0.min.js" type="text/javascript"></script>


<script type="text/javascript">
    $(document).ready(function () {
        $('#uploadify').fileUpload({
            'uploader': '../../Content/jqueryPlugins/uploadify/uploadify.swf',
            'script': '/Upload/Processed',
            'folder': '/uploads',
            'multi': 'true',
            'buttonText': 'Browse',
            'displayData': 'speed',
            'simUploadLimit': 2,
            'cancelImg': '/Content/Images/cancel.png'
        });
    });
</script>
</head>
<body>
<input type="file" name="uploadify" id="uploadify" />
<p><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">Cancel All Uploads</a></p>
</body>

    </html>

Что мне здесь не хватает? Я попробовал почти каждую перестановку путей для опции загрузки "загрузить". Абсолютный путь, префикс «/» и т. Д.

Это то, что я вижу. alt text

А вот и структура каталогов. alt text

Ответы [ 3 ]

4 голосов
/ 27 апреля 2010

У вас написано Обработано Обработано , и поэтому вы не нажмете 'script': '/ Загрузить / Обработано',

Изменить

public string Procssed(HttpPostedFileBase FileData)
{
        // DO STUFF
        return "DUHR I AM SMART";
}

до

public string Processed(HttpPostedFileBase FileData)
{
        // DO STUFF
        return "O SMART ONE HAS SPOKEN";
}

РЕДАКТИРОВАТЬ

Снимите блок кода jquery-скрипта и ввод html и используйте этот код вместо

<body>
<input id="fileInput" name="fileInput" type="file" />
<script type="text/javascript">// <![CDATA[
    $(document).ready(function () {
        $('#fileInput').uploadify({
            'uploader': '../../Content/jqueryPlugins/uploadify/uploadify.swf',
            'script': '/Upload/Processed',
            'cancelImg': 'cancel.png',
            'auto': true,
            'folder': '/uploads'
        });
    });
// ]]>
</script>
</body>
2 голосов
/ 27 апреля 2010

Ваше написание слова «Обработано» варьируется в зависимости от вызова JavaScript (Processed) и определения метода (Procssed). Это случайно?

0 голосов
/ 27 апреля 2010

Я не уверен, но в классических веб-формах ASP ASP.net для формы enctype нужно было указать multipart / form-data

<form enctype='multipart/form-data'>
 <input type='file'>
 <input type='Submit'>
</form>
...