首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Perl,Unix电子邮件:在浏览器问题中下载csv

Perl,Unix电子邮件:在浏览器问题中下载csv
EN

Stack Overflow用户
提问于 2011-05-05 04:32:06
回答 3查看 394关注 0票数 0

我有这个:

代码语言:javascript
运行
复制
    open(MAIL,"|/usr/sbin/sendmail -t");
       ## Mail Header
       print MAIL "To: $GLOB_OPT{email}\n";
       print MAIL "From: $GLOB_OPT{from}\n";
       print MAIL "Subject: $GLOB_OPT{sub}\n";
       print MAIL qq|Content-Type: text/html; charset=us-ascii\n|;
       print MAIL qq|Content-Transfer-Encoding: 7bit\n|;
       print MAIL qq|MIME-Version: 1.0\n\n|;
       print MAIL qq|<h3>Download File :</h3><br>|;
       print MAIL qq|<a href="$GLOB_OPT{html}" rel="nofollow" target="_blank">Click Here</a>|;
    close(MAIL);

我要将超链接发送给用户,以便他们可以下载$GLOB_OPT{html}路径中的csv文件。

当我打开电子邮件中的链接时,它会在浏览器中打开csv。相反,我希望浏览器下载该文件。我能做什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-05 14:28:35

尝试在Try服务器端的http头中使用content-disposition。这甚至适用于.htaccess

据我所知,您发送电子邮件的方式与浏览器中的保存/显示选项关系不大。

票数 2
EN

Stack Overflow用户

发布于 2011-05-05 10:51:27

不要使用系统sendmail命令。相反,请使用MIME::Lite模块。

他们有一个coding example,几乎可以做你想做的事情。

这样,您就不需要依赖可能工作也可能不工作的外部命令(取决于系统及其配置)。

票数 1
EN

Stack Overflow用户

发布于 2011-05-05 04:41:06

您可以通过脚本输出CSV,该脚本会向浏览器发送第一个mime报头"application/octet-stream“,而不是apache(或使用的服务器)发送的默认MIME type。您还可以通过将应用程序扩展名与“.csv /octet-stream”mime类型相关联,将服务器配置为自己发送报头。另请参阅The apache docs

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5889494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档