代码之家  ›  专栏  ›  技术社区  ›  David Fox

完成后可以上传发送电子邮件吗?

  •  1
  • David Fox  · 技术社区  · 15 年前

    Uploadify是一个jQuery/Flash插件,用于上传多个文件。它工作得很好,只是我不知道什么时候触发电子邮件 文件已完成。如果我想加上 <% SendEmail(); %> 对于onAllComplete参数,它只在页面加载时发送电子邮件。

    有没有办法在推荐的处理程序中做到这一点 here 或者从这个 post ? 或者是否有某种方法可以触发onAllComplete参数中的post?

    <script type="text/javascript">
        // <![CDATA[
        var FirstName = $('[id$=HiddenField4]').val();
        var MiddleName = $('[id$=HiddenField5]').val();
        var ClientName = $('[id$=HiddenField6]').val();
        var queueSize = $('#fileInput').uploadifySettings('queueSize');
        $(document).ready(function() {
            $('#fileInput').uploadify({
                'uploader': 'scripts/uploadify/uploadify.swf',
                'script': 'Upload.ashx',
                'scriptData': { 'first': FirstName, 'middle': MiddleName, 'client': ClientName, 'queueSize': queueSize },
                'cancelImg': 'scripts/uploadify/cancel.png',
                'auto': true,
                'multi': true,
                'fileDesc': 'Image Files',
                'fileExt': '*.jpg;*.png;*.gif;*.bmp;*.jpeg;*.pdf',
                'queueSizeLimit': 90,
                'sizeLimit': 10000000,
                'buttonText': 'Upload Documents',
                'folder': '/uploads',
                'onComplete': function(event, queueID, fileObj, response, data) {
                     alert(response);
                },
                'onAllComplete': function(event, queueID, fileObj, response, data) {
                     <% SendEmail(); %>
                },
                'buttonImg': 'images/upload.png'
             });
          });
          // ]]></script>
    

    我也试过把它声明为

    var queueSize = $(".uploadifyQueueItem").size();
    

    2 回复  |  直到 8 年前
        1
  •  1
  •   Pekka    15 年前

    您可以将发送电子邮件的指令放入 接收 上载的文件( Upload.ashx 在你的情况下。)

    上传完成后将调用该文件。

    另一种方法是在 onComplete 回调,调用另一个发送电子邮件的ashx脚本。无论如何,没有JavaScript方式发送电子邮件,您必须在服务器端这样做。

        2
  •  1
  •   BalusC    15 年前

    你需要在服务器端解决这个问题。但是Uploadify完全是一个客户端脚本(JS+Flash)。您需要在服务器端编写/调用邮件代码,该代码由您使用的一个轴向调用调用调用 onAllComplete . 你可以用 jQuery.ajax 或是配偶。

            'onAllComplete': function(event, queueID, fileObj, response, data) {
                 $.post('somescript.aspx', paramsWhichSignalsServerToSendMail);
            },