Страница 1 из 1
Простой конвертер на WEB
Добавлено: 17 фев 2017, 17:51
krazen
Всем добра.
Вопрос назрел давно но реализавать надо уже сегодня. Стоит задача создания простого конвертера для обработки файлов ВНУТРИ СЕТИ , без использования онлайн сервисов и платных программ. Перечислять сайты онлайн-конвертеров не буду так как каждый уже имеет ссылку на полюбившийся. Итак, необходимо сделать сстраничку на которой где есть 2 кнопки: 1 обзор, 2 загрузить. 1- выполняет поиск добавляемого файла на сервер, 2- начинает процедуру конвертирования (из pdf в jpg например). После чего должна открыться сообщение о том куда сохранить зазипованный архив распиленного pdfфайла на jpgи.
Вот собственно и всё что нужно воплотить в реальность.
Может кто уже создал нечно подобное, поделитесь мануалом.
Простой конвертер на WEB
Добавлено: 17 фев 2017, 18:03
Dja
Я думаю надо смотреть на тему где из jpeg делали pdf и обратить.
Простой конвертер на WEB
Добавлено: 17 фев 2017, 18:06
Chocobo
krazen, не нашел в своих закромах черновики, хотя когда-то делал подобные простенькие формы.
т.к. php я не очень люблю - я бы взял связку Python+WebPy
посмотри базовое, там все на плаву вроде:
Установка,
Введение,
Аплоад файлов
Если вечерком будет время - попробую набросать пример.
Простой конвертер на WEB
Добавлено: 17 фев 2017, 19:32
krazen
а есть вариант скачать один из сайтов и перепилить под себя?
Простой конвертер на WEB
Добавлено: 17 фев 2017, 19:52
Chocobo
krazen, вопрос только зачем, если там кода на три десятка строк)
в общем, немного освежив память вот такой набросок родился:
Код: Выделить всё
import web
import os
urls = ('/upload', 'Upload')
class Upload:
def GET(self):
web.header("Content-Type","text/html; charset=utf-8")
return """<html><head></head><body>
<form method="POST" enctype="multipart/form-data" action="">
<input type="file" name="myfile" />
<br/>
<input type="submit" />
</form>
</body></html>"""
def POST(self):
x = web.input(myfile={})
filedir = '/tmp' # change this to the directory you want to store the file in.
if 'myfile' in x: # to check if the file-object is created
filepath=x.myfile.filename.replace('\\','/') # replaces the windows-style slashes with linux ones.
filename=filepath.split('/')[-1] # splits the and chooses the last part (the filename with extension)
myfile_location = filedir +'/'+ filename
fout = open(myfile_location,'w') # creates the file where the uploaded file should be stored
fout.write(x.myfile.file.read()) # writes the uploaded file to the newly created file.
fout.close() # closes the file, upload complete.
getFile = file( myfile_location, 'rb' )
os.system("convert " + myfile_location +" -rotate 90 " + myfile_location )
web.header('Content-type','application/octet-stream')
web.header('Content-transfer-encoding','base64')
return getFile.read()
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()
обработка банальная, поворачиваем на 90 градусов по часовой
Проверить как оно примерно работает - можешь
здесь (пока оставлю запущеным)
Разбирайся, будут вопросы - подскажу в меру компетенций
Простой конвертер на WEB
Добавлено: 22 фев 2017, 14:33
krazen
это конечно круто, нет слов. Но надо сделать у мен на компе. Если мануал напишешь то мои праздники пройдут более радостными нежели в постеле с ознобом, соплями и головной болью.
Простой конвертер на WEB
Добавлено: 22 фев 2017, 15:24
Chocobo
krazen, так весь код я тебе привел вобщем-то
установить
web.py модуль, код из под спойлера в файл somehow.py и запустить с
python somehow.py
стартанет локальный сервер для обработки запросов, найдешь его на 127.0.0.1:8080/upload
и ковырять под свои нужды дальше
ну и imagemagic для команды convert притянуть
Простой конвертер на WEB
Добавлено: 22 фев 2017, 16:57
krazen
как сделаю так отпишусь что куда развернул.