uploadify错误HTTP:未定义? [英] uploadify error HTTP: undefined?

查看:151
本文介绍了uploadify错误HTTP:未定义?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


  

可能重复:结果
  <一href=\"http://stackoverflow.com/questions/1877644/uploadify-show-error-message-from-http-response\">Uploadify:显示来自HTTP响应错误信息


我试图让Uploadify在我的asp.net MVC 3应用工作。我得到一个错误(见标题)。这是我的看法:

  @ {
    ViewBag.Title =主页;
}  &LT;脚本类型=文/ JavaScript的SRC =@ Url.Content(〜/脚本/ jQuery的-1.3.2.min.js)&GT;&LT; / SCRIPT&GT;
    &LT;脚本类型=文/ JavaScript的SRC =@ Url.Content(〜/脚本/ swfobject.js)&GT;&LT; / SCRIPT&GT;
    &LT;脚本类型=文/ JavaScript的SRC =@ Url.Content(〜/脚本/ jquery.uploadify.v2.1.0.min.js)&GT;&LT; / SCRIPT&GT;  &LT;输入类型=文件名称=fileInput1ID =fileInput1/&GT;
    &LT;跨度ID =结果&GT;&LT; / SPAN&GT;&LT; A HREF =JavaScript的:$('#fileInput1')uploadifyUpload();&GT;上传
        文件&LT; / A&GT;
&LT;脚本类型=文/ JavaScript的&GT;
    $(文件)。就绪(函数(){        $(#fileInput1)。uploadify({
            上传者:@ Url.Content(〜/脚本/ uploadify.swf)',
            脚本:@ Url.Action(上传,上传)',
            fileDataName:文件,
            buttonText:文件输入1 ...,
            多:假的,
            的sizeLimit:22222222222,
            simUploadLimit:1,
            cancelImg:@ Url.Content(〜/脚本/ cancel.png)',
            汽车:假的,
            的onError:功能(A,B,C,D){
                如果(d.status == 404)
                    警报(找不到上传脚本使用相对路径:+&LT; = GETCWD()&GT;?);
                否则,如果(d.type ===HTTP){
                    的console.log(错误+ d.type +:+ d.status);
                    警报(错误+ d.type +:+ d.status);
                }
                否则,如果(d.type ===文件大小)
                    $(#结果)HTML(文件太大)。
                //alert(c.name ++ d.type +限价+ Math.round(d.info /(1024 * 1024))+MB);
                其他
                    警报(错误+ d.type +:+ d.text);
            },
            的onComplete:函数(事件,queueId,FileObj文件,响应,数据){
                警报(响应);
            }
        });
    });&LT; / SCRIPT&GT;


解决方案

您得到最有可能的错误指示,有一些问题是应该处理文件上传服务器端操作。我怀疑某些异常。

与以下控制器尝试:

 公共类HomeController的:控制器
{
    公众的ActionResult指数()
    {
        返回查看();
    }    [HttpPost]
    公众的ActionResult上传(HttpPostedFileBase文件)
    {
        如果(文件= NULL&放大器;!&安培; file.ContentLength大于0)
        {
            VAR APPDATA =使用Server.Mappath(〜/ App_Data文件);
            变种文件名= Path.Combine(AppData的,Path.GetFileName(file.FileName));
            file.SaveAs(文件名);
        }
        返回JSON(真);
    }
}

还搭配了最新版本的jQuery的尝试和uploadify。我刚才用jQuery 1.5.1测试和uploadify 2.1.4具有完全相同的code您已发布,并与控制器动作我发现,它的工作完美的罚款。

下面是我的看法Index.cshtml:

 &LT;脚本类型=文/ JavaScript的SRC =@ Url.Content(〜/脚本/ jQuery的-1.5.1.js)&GT;&LT; /脚本&GT;
&LT;脚本类型=文/ JavaScript的SRC =@ Url.Content(〜/脚本/ swfobject.js)&GT;&LT; / SCRIPT&GT;
&LT;脚本类型=文/ JavaScript的SRC =@ Url.Content(〜/脚本/ jquery.uploadify.v2.1.4.js)&GT;&LT; / SCRIPT&GT;&LT;输入类型=文件名称=fileInput1ID =fileInput1/&GT;
&LT;跨度ID =结果&GT;&LT; / SPAN&GT;
&LT; A HREF =JavaScript的:$('#fileInput1')uploadifyUpload();&GT;上传文件&LT; / A&GT;&LT;脚本类型=文/ JavaScript的&GT;
    $(文件)。就绪(函数(){
        $(#fileInput1)。uploadify({
            上传者:@ Url.Content(〜/脚本/ uploadify.swf)',
            脚本:@ Url.Action(上传,家),
            fileDataName:文件,
            buttonText:文件输入1 ...,
            多:假的,
            的sizeLimit:22222222222,
            simUploadLimit:1,
            cancelImg:@ Url.Content(〜/脚本/ cancel.png)',
            汽车:假的,
            onError的:功能(){
                警报('发生了一些错误对不起');
            },
            的onComplete:函数(事件,queueId,FileObj文件,响应,数据){
                警报(响应);
            }
        });
    });
&LT; / SCRIPT&GT;

Possible Duplicate:
Uploadify: show error message from HTTP response

I am trying to get Uploadify to work in my asp.net mvc 3 app. I am getting an error( see title). This is my view:

@{
    ViewBag.Title = "Home Page";
}

  <script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.3.2.min.js")"></script>
    <script type="text/javascript" src="@Url.Content("~/Scripts/swfobject.js")"></script>
    <script type="text/javascript" src="@Url.Content("~/Scripts/jquery.uploadify.v2.1.0.min.js")"></script>

  <input type="file" name="fileInput1" id="fileInput1" />
    <span id="result"></span><a href="javascript:$('#fileInput1').uploadifyUpload();">Upload
        File</a>


<script type="text/javascript">
    $(document).ready(function () {

        $("#fileInput1").uploadify({
            uploader: '@Url.Content("~/Scripts/uploadify.swf")',
            script: '@Url.Action("Upload", "Upload")',
            fileDataName: 'file',
            buttonText: 'File Input 1...',
            multi: false,
            sizeLimit: 22222222222,
            simUploadLimit: 1,
            cancelImg: '@Url.Content("~/Scripts/cancel.png")',
            auto: false,
            onError: function (a, b, c, d) {
                if (d.status == 404)
                    alert("Could not find upload script. Use a path relative to: " + "<?= getcwd() ?>");
                else if (d.type === "HTTP") {
                    console.log("error " + d.type + ": " + d.status);
                    alert("error " + d.type + ": " + d.status);
                }
                else if (d.type === "File Size")
                    $("#result").html("file too big");
                //alert(c.name + " " + d.type + " Limit: " + Math.round(d.info / (1024 * 1024)) + "MB");
                else
                    alert("error " + d.type + ": " + d.text);
            },
            onComplete: function (event, queueId, fileObj, response, data) {
                alert(response);
            }
        });


    });

</script>

解决方案

The error you are getting most probably indicates that there is some problem with the server side action that is supposed to handle the file upload. I suspect that some exception is thrown.

Try with the following controller:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Upload(HttpPostedFileBase file)
    {
        if (file != null && file.ContentLength > 0)
        {
            var appData = Server.MapPath("~/app_data");
            var filename = Path.Combine(appData, Path.GetFileName(file.FileName));
            file.SaveAs(filename);
        }
        return Json(true);
    }
}

Also try with a more recent version of jquery and uploadify. I have just tested with jquery 1.5.1 and uploadify 2.1.4 with the exact same code you have posted and with the controller action I showed and it worked perfectly fine.

Here's my Index.cshtml view:

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.5.1.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/swfobject.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.uploadify.v2.1.4.js")"></script>

<input type="file" name="fileInput1" id="fileInput1" />
<span id="result"></span>
<a href="javascript:$('#fileInput1').uploadifyUpload();">Upload File</a>

<script type="text/javascript">
    $(document).ready(function () {
        $("#fileInput1").uploadify({
            uploader: '@Url.Content("~/Scripts/uploadify.swf")',
            script: '@Url.Action("Upload", "Home")',
            fileDataName: 'file',
            buttonText: 'File Input 1...',
            multi: false,
            sizeLimit: 22222222222,
            simUploadLimit: 1,
            cancelImg: '@Url.Content("~/Scripts/cancel.png")',
            auto: false,
            onError: function() {
                alert('some error occurred. Sorry');
            },
            onComplete: function (event, queueId, fileObj, response, data) {
                alert(response);
            }
        });
    });
</script>

这篇关于uploadify错误HTTP:未定义?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆