У меня есть форма, в которую пользователь вводит информацию и имеет возможность загрузить документ. После того, как они заполнили форму и нажали кнопку отправки, указанному получателю будет отправлено электронное письмо. Это отлично работает в IE и Firefox (независимо от того, загружает/не загружает ли пользователь документ).
Однако, когда пользователь загружает документ и отправляет форму в Chrome, кажется, что Chrome пытается обработать документ, а затем аварийно завершает работу.
Вот логика, в которой я проверяю, загрузил ли пользователь документ в форму, и сохраняю его во временной папке:
<cfif isdefined("FORM.file_type_attachment") AND Len(FORM.file_type_attachment) GT 0>
<!--- first actually upload the file --->
<cffile action="upload"
filefield="file_type_attachment"
destination="destination of file"
nameconflict="Makeunique">
<!--- now create a temporary holder for the attachment later on --->
<cfset attachment_local_file_1 = "file location">
</cfif>
<!--- Attaches attachment to email. --->
<cfsilent>
<!--- Note that I used the <CFSILENT> tag, this will kill the white space in this area so your email is not cluttered with white space. --->
<cfif isdefined("FORM.file_type_attachment") AND Len(FORM.file_type_attachment) GT 0>
<cfmailparam file="#attachment_local_file_1#">
</cfif>
</cfsilent>
Update5: я могу без проблем отправлять определенные файлы. Однако, когда пользователь пытается отправить PDF-файл по электронной почте, Chrome не может его обработать, и появляется сообщение об ошибке, уведомляющее пользователя о возникновении ошибки. В инструментах разработки я вижу следующее:
Следующий код представляет собой подход, который я пытался разрешить пользователям прикреплять документ. Есть ли другой подход при работе с PDF? Любая помощь будет оценена по достоинству.
var sendForm = function(event) {
event.preventDefault();
var url = 'MarcomRequestSent.cfm';
document.getElementById('smbt').disabled = true;
var form = event.target;
var formData = new FormData(form);
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
//xhr.setRequestHeader('Content-type', undefined);
xhr.onload = function(e) {
if(xhr.status == 200) {
//open the modal once the form passes validation
var m = modal.open({content: "<div class='modal-content'><div class='modal-header'><h4 class='modal-title' style='color: #9EC630 !important; font-size:28px; text-align:center;'>Request Sent</h4><button style='border:none;' id='closex' type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true' style='color:black'>x</span></button></div><br /><div class='modal-body'>" + "<p style='font-size:16px'>To return to the Marketing page, please click <a href='marketing.cfm'>here</a>."});
if(m == true) {
return m;
}
console.log('Form data (including any attachment) has been uploaded successfully.');
}
else {
if(xhr.status == 500){
alert("We seem to have encountered a problem. Please contact IT.");
}
}
};
xhr.onerror = function(e) {
alert("We seem to have encountered a problem. Please contact IT.");
};
xhr.send(formData);
};
document.getElementById('marcom_request_form').addEventListener('submit', sendForm);
Есть ли способ, которым пользователи могут отправлять PDF? Нужна помощь
<cfset attachment_local_file_1 = "file location">
- person Roberto Flores   schedule 15.04.2021