Как передавать файл при отправке с формы?

Всем доброго!

Подскажите как передавать файл при отправке формы с фронтенда? Сама форма выводиться так:

{if $wa->post("phone") and shopCustom::sendUniqueOrder(передаваемые поля)}
{*AJAX ОТВЕТ*}
{else}
<div class="wa-form uniqueOrder">
    <form method="post" id="unique_order_send_form" action="{$wa->currentUrl()}" data-url="{$wa->getUrl('blog')}" enctype="multipart/form-data">
        <input type="hidden" name="admin" value="{$wa->shop->settings('email')}">
        ........
        
          <div class="wa-field">
            <div class="wa-value wa-submit">
              <input class="callSubmit" type="submit" value="[s`Send`]" name="sendUniqueOrder">
            </div>
          </div>
    </form>
</div>
{/if}

в js:

//UNIQUE ORDER EMAIL
    $("#unique_order_send_form").submit(function(){
        var form = $(this);
        var data = form.serialize();
        var email = $('input[name=email]'),
        phone = $('input[name=phone]'),
        count = $('input[name=count]'),
        url = $(this).data('url');
        email.removeClass('errorData');
        phone.removeClass('errorData');
        count.removeClass('errorData');
        if (email.val()!='' && phone.val()!='' && count.val()!=''/* && !user_call.val()*/){
    	    $.ajax({
    	        type: 'POST',
    	        //url: location.href,
                url: url,
                data: data,
    	        success: function(response){
    	            $('.uniqueOrder').html('Ваша заявка принята! Мы свяжемся с Вами в ближайшее время.'); //вместо формы пишем сообщение
    	        }
    	    });
    	}
    	else {
    		if (!email.val()) email.addClass('errorData');
    		if (!phone.val()) phone.addClass('errorData');
    		if (!count.val()) count.addClass('errorData');
    	}
        
        return false; //отключаем перезагрузку страницы
    });

ну и класс shopCustom :

public static function sendUniqueOrder(поля){ //Функция отправляет письмо "Индивид. заказ"
        .......
        //Здесь обработка полей
        .......

        //$file = waRequest::file('print_file');
        
        //if(isset($file)) $body .= "///// ".$file->tmp_name;

        $subject = 'Заголовок';
        $mail_message = new waMailMessage($subject, $body);
        //$mail_message->setFrom('info@test.com', 'Робот');
        //$mail_message->setTo(array($admin_email => 'TEST'));
        $mail_message->setFrom('info@test.com');
        $mail_message->setTo($admin_email);
        //$mail_message->addAttachment($path, $filename);
        $mail_message->send();
        
        return true;
    }

Как я понимаю строка - $mail_message->addAttachment($path, $filename); и не обходима для передачи файла к письму, но яайл прикрепиться только тогда когда будет закачан на сервер. Дак как его прикрепить по средствам WEBASYST ?

Ну или как залить файл через ajax в нужное место? чтобы была вожможность уже банально просто передать его место в этот запрос.

1 ответ

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите