【问题标题】:How add the parameter Content-disposition in JavaScript如何在 JavaScript 中添加参数 Content-disposition
【发布时间】:2017-09-20 22:52:14
【问题描述】:

我想在我的 JavaScript 代码中而不是在我的 HTML 中添加参数 Content-disposition = inline。 我该怎么做?

public downloadImageJpeg(instanceUID: string, format: string): string {
  a.href =  'https://pbs.twimg.com/profile_images/54789364/JPG-logo-highres.jpg';
  a.download = 'image.jpg';
  a.click();
}

【问题讨论】:

  • 如果你想给函数添加一个参数,你可以简单地添加它。 downloadImageJpeg(instanceUID: string, format: string, Content-disposition? = inline): string { 并添加 ?标记你在打字稿中使它成为可选

标签: html angular typescript


【解决方案1】:

如果您想在编译或构建后生成javascript的打字稿文件中为函数添加参数,请将其添加到函数中。

public downloadImageJpeg(instanceUID: string, format: string, ContenDisposition? = inline): string {
  a.href =  'https://pbs.twimg.com/profile_images/54789364/JPG-logo-highres.jpg';
  a.download = 'image.jpg';
  a.click();
}

通过在参数名称后添加?,它将成为可选的并且不是强制传递它的值。

希望我理解并回答了这个问题。

【讨论】:

  • 我相信他们在谈论 HTTP 标头 Content-Disposition,而不是在他们的函数中添加额外的参数。此外,您的代码无效 - JavaScript 标识符不能包含破折号,inline 需要是字符串。
【解决方案2】:

除非您发送表单数据(您不是),否则服务器必须将Content-Disposition 作为响应标头提供。所以换句话说,你不能做你想做的事。

也就是说,我认为这是XY problem 的一个示例——如果您的目标只是在浏览器中显示图像,那么使用a.download 是没有意义的。只需使用锚标记,并使用target="_blank" 将其标记为在新选项卡中打开。

【讨论】:

  • 感谢您的回答。我想在我的浏览器中显示图像,并下载它。我想添加参数 Content-Disposition 因为我的文件名有问题。我不能改变它..
猜你喜欢
  • 1970-01-01
  • 2015-07-23
  • 2019-05-08
  • 2011-04-27
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多