Страница 1 из 1

Простой конвертер на WEB

Добавлено: 17 фев 2017, 17:51
krazen
Всем добра.
Вопрос назрел давно но реализавать надо уже сегодня. Стоит задача создания простого конвертера для обработки файлов ВНУТРИ СЕТИ , без использования онлайн сервисов и платных программ. Перечислять сайты онлайн-конвертеров не буду так как каждый уже имеет ссылку на полюбившийся. Итак, необходимо сделать сстраничку на которой где есть 2 кнопки: 1 обзор, 2 загрузить. 1- выполняет поиск добавляемого файла на сервер, 2- начинает процедуру конвертирования (из pdf в jpg например). После чего должна открыться сообщение о том куда сохранить зазипованный архив распиленного pdfфайла на jpgи.
Вот собственно и всё что нужно воплотить в реальность. :help: Может кто уже создал нечно подобное, поделитесь мануалом.

Простой конвертер на 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 градусов по часовой :smile:

Проверить как оно примерно работает - можешь здесь (пока оставлю запущеным)

Разбирайся, будут вопросы - подскажу в меру компетенций :smile:

Простой конвертер на WEB

Добавлено: 22 фев 2017, 14:33
krazen
это конечно круто, нет слов. Но надо сделать у мен на компе. Если мануал напишешь то мои праздники пройдут более радостными нежели в постеле с ознобом, соплями и головной болью.

Простой конвертер на WEB

Добавлено: 22 фев 2017, 15:24
Chocobo
krazen, так весь код я тебе привел вобщем-то :smile:

установить web.py модуль, код из под спойлера в файл somehow.py и запустить с python somehow.py стартанет локальный сервер для обработки запросов, найдешь его на 127.0.0.1:8080/upload
и ковырять под свои нужды дальше :thumbs:

ну и imagemagic для команды convert притянуть

Простой конвертер на WEB

Добавлено: 22 фев 2017, 16:57
krazen
как сделаю так отпишусь что куда развернул.