Desidero visualizzare il percorso completo del file pdf insieme al suo contenuto visualizzato sul browser. Il mio script ha un input html, in cui l'utente inserirà il nome del file e invierà il modulo. Lo script cercherà il file, se trovato nelle sottodirectory produrrà il contenuto del file nel browser e visualizzerà anche il suo nome. Sono in grado di visualizzare il contenuto ma non riesco a visualizzare contemporaneamente il nome completo completo O se visualizzo il nome del file ottengo la visualizzazione dei caratteri illeggibili per i contenuti. Per favore guida.come visualizzare il contenuto del file pdf e il suo nome completo nel browser usando lo script cgi python?
sceneggiatura a.py:
import os
import cgi
import cgitb
cgitb.enable()
import sys
import webbrowser
def check_file_extension(display_file):
input_file = display_file
nm,file_extension = os.path.splitext(display_file)
return file_extension
form = cgi.FieldStorage()
type_of_file =''
file_nm = ''
nm =''
not_found = 3
if form.has_key("file1"):
file_nm = form["file1"].value
type_of_file = check_file_extension(file_nm)
pdf_paths = [ '/home/nancy/Documents/',]
# Change the path while executing on the server , else it will throw error 500
image_paths = [ '/home/nancy/Documents/']
if type_of_file == '.pdf':
search_paths = pdf_paths
else:
# .jpg
search_paths = image_paths
for path in search_paths:
for root, dirnames, filenames in os.walk(path):
for f in filenames:
if f == str(file_nm).strip():
absolute_path_of_file = os.path.join(root,f)
# print 'Content-type: text/html\n\n'
# print '<html><head></head><body>'
# print absolute_path_of_file
# print '</body></html>'
# print """Content-type: text/html\n\n
# <html><head>absolute_path_of_file</head><body>
# <img src=file_display.py />
# </body></html>"""
not_found = 2
if search_paths == pdf_paths:
print 'Content-type: application/pdf\n'
else:
print 'Content-type: image/jpg\n'
file_read = file(absolute_path_of_file,'rb').read()
print file_read
print 'Content-type: text/html\n\n'
print absolute_path_of_file
break
break
break
if not_found == 3:
print 'Content-type: text/html\n'
print '%s not found' % absolute_path_of_file
L'HTML è un html regolare con il campo solo 1 ingresso per il nome del file.
Potete suggerire una soluzione alternativa dove questo può essere raggiunto? – user956424
@ user956424 Ho aggiunto alcune soluzioni alla risposta. – BlackJack
http://stackoverflow.com/users/3815611/blackjack Voglio ottenere questo risultato utilizzando cgi, python alone..no js – user956424