gpt4 book ai didi

javascript - 使用浏览按钮将文件附加到 Mandrill 消息

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:25 26 4
gpt4 key购买 nike

我不确定这是否可行,但我正在尝试使用 Mandrill API 将文件附加到外发电子邮件中从文件上传按钮 (input type="file")。老实说,我不完全确定 document.getElementById('idOfFileInput').value 实际返回的是什么。我知道这不是问这样一个新手问题的地方,但我到处找了找也没找到(我知道你们中的某个人会很狡猾,并在五分钟内给我指点某篇文章)。尽管如此,我已经获得了一个 .txt 文件附加了消息 C:\fakepath\test.txt,我知道这是浏览器为安全提供的文件路径。也许最好在代码中询问:

按钮:

Attachment(s):&nbsp;&nbsp;<input type="file" id="file">

JS:

"attachments": [
{
"type": "text/*",
"name": "file_attachment",
"content": document.getElementById('file').value
}
],

如果这是一个被上下文掩盖的简单问题,我很抱歉,但即使是这样,我也觉得这个问题可能是一个很好的 future 引用,因为我已经尝试了一个星期并寻找某种解决方案,但我一直找不到。有什么想法吗?

最佳答案

如果你想附加一个文件,你可以看看 AJAX 文件上传

Mandrill API 需要文件的 base64 编码字符串,因此如果您可以上传文件,您可以轻松地让服务器返回一个 base64 编码字符串供您在 API 中使用。

有很多插件可以通过 ajax 上传文件,如果您使用的是像 jQuery 这样的 JavaScript 库,您可以查看 jQuery File Upload

例如,如果您使用 PHP:

$result = array();
$result['status'] = 'error';
if(isset($_FILES["mandrill_attachment"]))
{
$base64 = base64_encode(file_get_contents($_FILES["mandrill_attachment"]["tmp_name"]));
$result['base64'] = $base64;
$result['status'] = 'ok';
}

die(json_encode($result));

我在示例中保持了简短,但您应该检查文件类型等,而不仅仅是假设它是一个 OK 文件

JS

var mandrill_attachment = false;

$(".attachment").uploadFile({
url: "upload.php",
dragDrop:false,
multiple:false,
autoSubmit:true,
fileName: "mandrill_attachment",
returnType:"json",
onSuccess:function(files,data,xhr)
{
if( data.status == 'ok' )
{
mandrill_attachment = data.base64;
} else {
alert('something went wrong...');
}
}
});

关于javascript - 使用浏览按钮将文件附加到 Mandrill 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23025414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com