Khan Sameer Ответов: 1

Как динамически отображать изображение


Как динамически отображать изображение из папки в режиме авторотации

Что я уже пробовал:

<script type="text/javascript">
        /*** 
        Simple jQuery Slideshow Script
        Released by Jon Raasch (jonraasch.com) under FreeBSD license: free to use or modify, 
        not responsible for anything, etc.  Please link out to me if you like it :)
        ***/

        function slideSwitch() {
        var $active = $('#cphBackground_slideshow IMG.active');

        if ($active.length == 0) $active = $('#cphBackground_slideshow IMG:last');

        // use this to pull the images in the order they appear in the markup
        var $next = $active.next().length ? $active.next()
        : $('#cphBackground_slideshow IMG:first');

        // uncomment the 3 lines below to pull the images in random order

        // var $sibs  = $active.siblings();
        // var rndNum = Math.floor(Math.random() * $sibs.length );
        // var $next  = $( $sibs[ rndNum ] );


        $active.addClass('last-active');

        $next.css({ opacity: 0.0 })
        .addClass('active')
        .animate({ opacity: 1.0 }, 1000, function () {
        $active.removeClass('active last-active');
        });
        }

        $(function () {
        setInterval("slideSwitch()", 7500);
        });
</script>
<style type="text/css">

    /*** set the width and height to match your images **/

    #cphBackground_slideshow {
        position:relative;
        height:350px;
    }

    #cphBackground_slideshow IMG {
        position:absolute;
        top:0;
        left:0;
        z-index:8;        
        /*opacity:0.0;*/        
    }

    #cphBackground_slideshow IMG.active {
        z-index:10;
        /*opacity:1.0;*/
    }

    #cphBackground_slideshow IMG.last-active {
        z-index:9;
    }

</style>
<div id="slideshow"  runat="server">    
protected void DisplayImage
{
  DirectoryInfo oDir = new DirectoryInfo(Server.MapPath("~/Banner_img"));
            FileInfo[] fileList = oDir.GetFiles("*.jpg");
            int iFileCount = fileList.Count();            
            iFileCount -= 1;
            HtmlImage oImage = default(HtmlImage);
            for (int i = 0; i <= iFileCount; i++)

            {

                oImage = new HtmlImage();

                var _with1 = oImage;

                //_with1.Src = string.Format("path\\{0}", fileList(i));                

                _with1.Src = Server.MapPath("~/Banner_img") + "\\" + fileList[i];

                if (i == 0)

                    _with1.Attributes.Add("class", "active");

                slideshow.Controls.Add(oImage);

            }

Sinisa Hajnal

Вы загружаете изображения из папки и помещаете их в свое слайд-шоу? В чем именно заключается проблема? Пожалуйста, удалите код, не относящийся к проблеме, и сосредоточьтесь на том, в чем вам нужна помощь. И опишите, что это за помощь. Спасибо.

1 Ответов

Рейтинг:
0

F-ES Sitecore

Сервер.MapPath отображает виртуальный путь ("~/yourfolder/yourfile") в физическое расположение этого файла на диске сервера, так что он будет "c:\inetput\wwwroot\...". вы устанавливаете это значение как " src " тега img, поэтому просите клиентский браузер загрузить изображение из "c:\inetpub\wwwroot..." и, конечно, это не работает, поскольку файл находится на сервере.

Вместо этого вам нужно построить путь к файлу, который может быть использован в качестве src в IMG, и такое, что браузер может скачать с сервера через HTTP, так что это должно быть типа "/banner_img/file.jpg", и вы можете построить этих URL-адресов, используя ToAbsolute;

_with1.Src = System.Web.VirtualPathUtility.ToAbsolute("~/Banner_img/"+ fileList[i]);