将PDF文件存储在JS变量中

时间:2016-09-21 06:58:52

标签: javascript php

这是html代码

<input type="text" class="txtbox" placeholder="Name" id="name" name="name" />
<input type="text" class="txtbox" placeholder="E-mail"id="email" name="email" />
<input type="text" class="txtbox" placeholder="Phone" id="phone" name="phone" />
<input type="file" class="txtbox" name="file" id="resume">
<input name="submit" id="submitbutton1" value="Apply Now" type="button" onClick="submitbutton1()" class="txtbox"> 

和我的js功能如下

<script>
function submitbutton1() 
{
  console.log("here");
  var name=$("#name").val();
  console.log(name);
  var email=$("#email").val();
  console.log(email);
  var phone=$("#phone").val();
  console.log(phone);
  var tal={"name":name,"email":email,"phone": phone};
  $.ajax({
   type: "POST",
   url: "email.php",
   data: tal,    
  success: function(ch)
  {     
    console.log(ch); 
  }
});
}
</script>

我想将该pdf文件的值存储到js变量中,以便我可以将所有这些变量发布到email.php中是否可以将pdf文件存储在js变量中?如果有可能如何?请帮帮我......

3 个答案:

答案 0 :(得分:0)

我编辑了你的剧本。

<script>
function submitbutton1() 
{
  console.log("here");
  var name=$("#name").val();
  console.log(name);
  var email=$("#email").val();
  console.log(email);
  var phone=$("#phone").val();
  console.log(phone);
var resume=$("#resume").val();
  var tal={"name":name,"email":email,"phone": phone,"resume":resume};
  $.ajax({
   type: "POST",
   url: "email.php",
   data: tal,    
  success: function(ch)
  {     
    console.log(ch); 
  }
});
}
</script>

答案 1 :(得分:0)

  1. 如果你有这个值,你可以在你的js变量中存储pdf值。您可以使用ajax调用从服务器加载pdf文档。但是,它将是二进制数据,您将无法在浏览器中将其显示给您的客户。

  2. 您可以将此值发布到服务器,但没有任何意义,因为您只能发布此文件的路径,并使用某些服务器端编程语言函数获取此文件的内容(在您的情况下为file_get_contents) 。

  3. 将二进制数据作为电子邮件内容发送是没有意义的,因此您应将其作为附件发送。不知道,是否可以使用php mail()函数发送附件,之前我只使用phpmailer。 Php邮件程序不需要你的二进制数据,它只需要文件路径。

答案 2 :(得分:0)

我认为您必须使用ajax上传PDF文件并使用一个ajax请求将数据发布到ajax中。您可以将FormData()对象用于post文件和数据值

function submitbutton1() {
    var file_data = $('#resume').prop('files')[0];   
    var form_data = new FormData();                  
    form_data.append('file', file_data);
    form_data.append('name', $("#name").val());
    form_data.append('email', $("#email").val());
    form_data.append('phone', $("#phone").val());
    $.ajax({
        url: 'email.php',
        cache: false,
        data: form_data,                         
        type: 'post',
        success: function(result){
            console.log(result); 
        }
    });
};