0

如何使用 jquery uploadify 插件将文件控制 ID 传递到服务器端。

 $('#myFileControl').uploadify({
        'swf': 'uploadify-v3.1/uploadify.swf',
        'uploader': 'uplodify.ashx',
        'buttonImage': 'uploadify-v3.1/choose.png',
        'method': 'post',
        'formData': { 'icontype': 'notSet','fileControlID':$(this).attr("id")},//pass id
        'onUploadStart': function (file) {
            $('#myFileControl').uploadify('settings', 'formData', { 'icontype': $("#icontype").val() });
        },
        'width': 129,
        'height': 30,
        'sizeLimit': 5120000,
        'fileTypeExts': '*.jpg;*.png;*.gif',
        'fileTypeDesc': 'Web Image Files (.JPG, .PNG, .GIF)',
        'auto': false
    });


<input type="file" name="myfile" id="myFileControl">

服务器端获取“fileControlID”值始终为空。

4

3 回答 3

0

您可以在同一个控件中添加 runat="server" ,它将成为服务器控件。

<input type="file" runat="server" name="myfile" id="myFileControl">
于 2012-11-12T07:12:31.787 回答
0
<body>
<form id="form1" runat="server">
<div>
    <input type="text" id="a" name="a" />
    <input type="file" name="myfile" id="myFileId" class="bbbbb">
    <input type="file" name="bbb" id="aaa" class="bbbbb">
    <input type="button" id="c" value="qqq" onclick="checkImport()" />
</div>
</form>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="uploadify-v3.1/jquery.uploadify-3.1.js"></script>
<script type="text/javascript">
    $(function () {
        $('.bbbbb').each(function () {
            var $iconUpload = $(this);
            $iconUpload.uploadify({
                'swf': 'uploadify-v3.1/uploadify.swf',
                'uploader': 'uplodify.ashx',
                'buttonImage': 'uploadify-v3.1/choose.png',
                'method': 'post',
                'formData': { 'icontype': 'notSet', 'fileID': $iconUpload.attr("id") },
                'onUploadStart': function (file) {
                    $iconUpload.uploadify('settings', 'formData', { 'icontype': $("#a").val() });
                },
                'width': 129,
                'height': 30,
                'sizeLimit': 5120000,
                'fileTypeExts': '*.jpg;*.png;*.gif',
                'fileTypeDesc': 'Web Image Files (.JPG, .PNG, .GIF)',
                'auto': false
            });
        });

    });
    function checkImport() {
        $('#myFileId,#aaa').uploadify('upload');
        // $('#myFileId').uploadifyUpload();
        return true;

    }

</script>

于 2012-11-12T04:54:20.603 回答
0

myFileControl不是一个asp.net服务器控件。所以你不会直接找到它。

但是,您可以像这样接收您的文件:

    HttpPostedFile fileToUpload = context.Request.Files["myFileControl"];
    string pathToSave = HttpContext.Current.Server.MapPath("~/Files/")
                        + fileToUpload.FileName;
    fileToUpload.SaveAs(pathToSave);
于 2012-11-12T04:59:00.277 回答