我的网络主机上存有PFD。我需要将此PDF作为附件发送。 我将attchment =设置为PDF的URL并在VS 2017中运行代码给出了错误:不支持给定路径的格式。我尝试使用GetInvalidFileNameChars())修剪URL;和 GetInvalidPathChars());但修剪后的网址与原始网址相同。 我生成错误的代码是:
string MyPDF = "http://happylandings2018.com/free_ebook_ultimate_weight_loss_bible.pdf";
Attachment attachment = new Attachment(MyPDF);
当我将MyPDF设置为等于系统上PDF的路径时,即。 c:/ ..它工作正常。我猜这里必须有一个简单的解决方案,但是找不到任何可行的方法。感谢您的回复!
答案 0 :(得分:0)
Attachment
构造函数的参数可以是本地文件的路径,但不是URL。这就是为什么当您将其设置为系统上的文件时它的工作原理。
如果文件在您的服务器上,您可以使用Server.Map()
功能将文件的URL转换为物理路径,然后传递给Attachement()
。但是,如果您想使用其他网站的文件,则必须先将其下载到您的服务器。像这样:
string MyPDF = "http://happylandings2018.com/free_ebook_ultimate_weight_loss_bible.pdf";
var stream = new WebClient().OpenRead(MyPDF);
Attachment attachement = new Attachment(stream);