【问题标题】:Not able to retrieve file that is uploaded using <input type="file">无法检索使用 <input type="file"> 上传的文件
【发布时间】:2017-06-13 05:38:08
【问题描述】:

我正在尝试使用 input type="file" 上传文件,点击提交后,我将数据连同文件一起发送到邮件。但在邮件中显示所有文本数据,但我无法看到上传的文件。它显示了类似“C:\fakepath\ngBootbox-master.zip”的内容。我的问题是如何让实际上传的文件可以在邮件中下载? 这是HTML代码

    <form method="post"  novalidate="novalidate"
    id="signupvalidation">
    <input type="file" name="your-file" id="file">
    </form>

这是 Json 代码

    submitHandler: function(form) { 
    var upload=$('#file').val();
    var data="<html>"+
    "<body>+
    "Upload:"+upload+"<br><br>"+
    "</body>"+
    "</html>";
  var queryString="api_user=xyz123&api_key=xyz12&to=test@gmail.com&subject=PostC
 V&html="+data+
    "&from="+email;
    $.ajax({
    type: "POST",
    url: "https://api.sendgrid.com/api/mail.send.json",
    data: queryString,
    crossDomain: true,
    dataType: 'jsonp',
    contentType: "application/jsonp"
    });
    alert('Success');
    }
    });
    });

【问题讨论】:

  • 用数据发帖时,需要对这些数据进行编码

标签: html json ajax


【解决方案1】:

要提交文件,您必须将编码设置为 multipart/form-data:

<form method="post"  novalidate="novalidate"
id="signupvalidation" enctype="multipart/form-data" >

【讨论】:

  • 我在表单中添加了 enctype。但我仍然无法在邮件中下载上传的文件。它显示相同的“C:\fakepath\filename.zip”路径。@Cuagau
猜你喜欢
  • 2016-05-25
  • 2016-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-16
  • 2019-01-24
相关资源
最近更新 更多