Открывать URL-адрес ярлыка в Chrome / IE - PullRequest
0 голосов
/ 20 марта 2020

В настоящее время я использую cfdirectory для извлечения и отображения файлов в папках. Однако в нескольких папках пользователи загрузили ярлыки на сайты / страницы. В текущем коде ниже он может отображать содержимое папки на веб-странице. Я могу без проблем открывать и просматривать файлы pdf, docx, ppt, et c. Однако, когда я выбираю ярлык, я получаю ошибку 404, хотя эти страницы / ссылки существуют.

Мой вопрос: возможно ли, чтобы ярлык правильно открывал ссылку?

<cfset filters = "*.pdf|*.zip|*.doc*|*.docx*|.ppt*|*.pptx*|*.pps*|*.pot*|*.dot*|*.xls*|*.xlsx*|*.swf|*.rtf|*.url">
<cfset rootdir = expandPath('\folderpath\Tools & Resources - Systems\')>
    <cfdirectory 
        directory="#rootdir#" 
        name="myDirectory" 
        action = "list" 
        filter="#filters#"
        sort="name ASC, size DESC"
    >

    <div id="files" class="inline">     
        <cfoutput query="myDirectory">
            <cfset FileExt=ListLast(Name,".")>
            <cfif FileExt eq 'pdf'>
                <cfset imgicon = 'pdf-icon-24.png'>
            <cfelseif FileExt eq 'xlsx' or FileExt eq 'xls'>
                <cfset imgicon = 'Microsoft-Excel-icon-24.png'>
            <cfelseif FileExt eq 'docx' or FileExt eq 'doc'>
                <cfset imgicon = 'docx-icon-24.png'>
            <cfelseif FileExt eq 'ppt' or FileExt eq 'pptx'>
                <cfset imgicon = 'Powerpoint-iconMP.png'>
            <cfelseif FileExt eq 'lnk' or FileExt eq 'url'>
                <cfset imgicon = 'url-icon-24.png'>
            <cfelse>
                <cfset imgicon = 'Documents-icon-24.png'>
            </cfif>

            <div class="dlist" style="float:left; margin-right:16px; width:370px">
                <ul>
                    <li>
                        <a class="urlLinks" href="\folderpath\#Names#" target="_blank"> 
                            <div class="list-img" style="float:left; margin-right:20px"> 
                                <img alt="#Name#" src="\Image\#imgicon#" /> 
                            </div>

                            <div>#Name#</div>
                        </a>
                    </li>
                </ul>
            </div>              
        </cfoutput>
    </div>

1 Ответ

0 голосов
/ 26 марта 2020

После некоторых исследований и помощи моих коллег я смог найти способ, который включает ColdFusion. Я надеюсь, что это поможет любым другим пользователям.

<cfset UserID = SESSION.INETSEC.UID>
<cfset current_date = '#DateFormat(now(), "mm/dd/yyyy")# #TimeFormat(now())#' >

<!--- Download file --->
<cfif structKeyExists(URL, 'method') and URL.method eq 'download'>
    <cfset folder_name = URL.folder_id />
    <cfset file_name = URL.name />

    <cfif findNoCase('.doc', file_name) >
        <cfset file_type = 'application/msword' >
    <cfelseif findNoCase('.pdf', file_name) >
        <cfset file_type = 'application/pdf' >
    <cfelseif findNoCase('.xls', file_name) or findNoCase('.xlt', file_name)>
        <cfset file_type = 'application/vnd.ms-excel' >
    <cfelseif findNoCase('.tif', file_name) >
        <cfset file_type = 'image' >
    <cfelseif findNoCase('.jpg', file_name) >
        <cfset file_type = 'image/jpeg' >
    </cfif>

    <cfheader name="Content-Disposition" value="inline; filename=#file_name#">
    <!---Check if file type is available--->
    <cfif isDefined("file_type") >
        <cfcontent type="#file_type#" file="directory\#folder_name#\#file_name#">
    <cfelse>
        <cfcontent file="directory\#folder_name#\#file_name#">
    </cfif>
    <cfabort>
</cfif>
...