2

我有一个 Send.aspx 页面,上面有一个 uploadify 控件。Upload.ashx 处理文件上传。

我正在将文件记录添加到 Upload.ashx 文件中的 sql 数据库,完成后我需要从 Upload.aspx 中获取该记录的 ID。

不能让它与 Sessions 一起工作。=(与 Adob​​e 错误有关吗?

处理这种情况的最佳方法是什么?

这是uploadify控件:

<script type="text/javascript">
                // <![CDATA[
                var contestID = $('[id$=HiddenFieldContestID]').val();
                var maxEntries = $('[id$=HiddenFieldMaxEntries]').val();
                var userID = $('[id$=HiddenFieldUserID]').val();
                $(document).ready(function() {
                    $('#fileInput').uploadify({
                        'uploader': '../uploadify/uploadify.swf',
                        'script': '../uploadify/Upload.ashx',
                        'scriptData': { 'contestID': contestID, 'maxEntries': maxEntries, 'userID': userID },
                        'cancelImg': '../uploadify/cancel.png',
                        'auto': true,
                        'multi': false,
                        'fileDesc': 'Image Files',
                        'fileExt': '*.jpg;*.png;*.jpeg',
                        'queueSizeLimit': 1,
                        'sizeLimit': 4000000,
                        'buttonText': 'Choose Image',
                        'folder': '/uploads',
                        'onAllComplete': function(event, queueID, fileObj, response, data) {
                            document.getElementById('<%= ButtonCleanup.ClientID %>').click();
                        }

                    });
                });
                // ]]></script>

我花了一段时间才弄清楚。但回想起来,这非常简单。出于这个原因,我制作了一个视频教程来帮助新手快速入门并了解这个很棒的控件是如何工作的。

从头到尾的视频教程:

http://casonclagg.com/articles/6/video-tutorial-uploadify-asp-net-c-sharp.aspx

4

2 回答 2

1

我在自己的脚本中注意到我使用的是onComplete事件而不是onAllComplete. 除非配置选项逃脱了我,onComplete 否则将在每次 Upload.aspx 调用后触发(文件是单独上传的——同样,这可能是可配置的)。根据文档,onAllComplete实际上并没有传回请求数据(这是有道理的,因为它是在单个上传范围之外完成的)。

Upload.aspx 输出的任何内容都应出现在response参数中。您可以简单地让它输出脚本创建的元素的 id,并且响应应该包含适当的字符串。

于 2010-03-03T08:01:01.073 回答
0

正如所承诺的,我制作了一个关于如何在 ASP.Net 应用程序中使用 Uploadify 控件的视频教程。

http://casonclagg.com/articles/6/video-tutorial-uploadify-asp-net-c-sharp.aspx

希望这可以帮助。

我的问题的简短回答是这样的:

当您context.Response.Write("foo");从 Upload.ashx 处理程序中返回时...

并将其放入您的 uploadify 控件中:

 'onComplete': function(event, queueID, fileObj, response, data) {
    alert(response);
 }

将弹出一个带有单词 foo 的警告框。

你可以让这件事变得更复杂,比如

context.Response.Write("id=55&title=This is the title");

OnComplete并在您的或OnAllCompleteJQuery中自己解析这些值。

于 2010-03-19T19:16:31.867 回答