0

目前我有一个uploadify多文件上传供用户上传图片,对于他们选择的每张图片,我希望允许他们输入一些描述,然后我会将描述与图片URL一起存储到我的数据库中,现在我已经生成了文本框对于每个选择上传的图像,但我如何将值传递给我的处理程序以便将其存储在我的数据库中?以下是我的代码

上传 JQuery:

$(document).ready(function () {
            $("#<%=FileUpload1.ClientID %>").uploadify({
                'swf': '../../Uploadify/uploadify.swf',
                'uploader': 'Handler.ashx',
                'auto': false,
                'multi': true,
                'buttonText': 'Select Photos',
                'fileDesc': 'Image Files',
                'fileTypeExts': '*.gif; *.jpg; *.png',
                'queueSizeLimit': 12,
                'onQueueComplete': function () {
                    window.location.reload();
                },
                'onSelect': function (file) {
                    $('#textboxtables').append("<tr><td style='height:50px; vertical-align:middle'><input type='text' id='" + file.name + "'/></td></tr>");
                }

            });
        });

因此,对于我选择的每个文件/图像,我将生成一个带有文件名作为 ID 的 texbox 的表格行,但现在我如何获取文本框的值并将其传递给我的处理程序?

4

2 回答 2

2

我有解决方案:

$(function() {

  $("#<%=FileUpload1.ClientID %>").uploadify(
    {
     'swf': '../js/uploadify/uploadify.swf',
     'uploader': '../uploader.ashx',
     'auto': false,
     'method': 'post',
     'multi': true,
     'buttonText': 'Select File(s)',
     'folder': '../images',
     'fileDesc': 'Image Files',
     'fileExt': '*.jpg;*.jpeg;*.gif;*.png',

     'onUploadStart': function (event, data) { //this is where you will send the form //data, but remember to get if from post in the .ashx file, by contex.Request["gallaryId"]


         $("#<%=FileUpload1.ClientID %>").uploadify('settings','formData',

         { 'gallaryId': $("#hiddenGallaryId").val() }  //note hiddenGallaryId would //have the gallaryId which im sending through post , make sure it is rendered in your page( //i.e.not concealed by a multiview control e.t.c)
         );
     }          

   });
 });

HTML:

<asp:FileUpload ID="FileUpload1" runat="server" /> 
<input id="hiddenGallaryId" type="text" class="hiddenFields"/>

<a href="javascript: $('#<%=FileUpload1.ClientID %>').uploadify('upload','*')">Click To Upload Files</a>
于 2012-10-22T16:10:10.050 回答
0

您可以通过 Jquery uploadify 的“formData”属性将值传递给处理程序

$("#<%=FileUpload1.ClientID %>").uploadify({
    // your existing stuff
    'formData' : { 'query' : $(YourTextBoxId).val() }
});

现在,这个“查询”变量将在查询字符串参数中传递您的文本框的值,您可以通过Request["query"]表达式在处理程序中获取此值。

于 2012-08-11T16:15:43.637 回答