使用 Javascript 向用户发送 HTTP 附件(打开浏览器的“另存为...”对话框)

2023-12-21

我是网络开发的新手,所以如果这个问题很菜鸟,我深表歉意。我想在 Javascript 中请求时向用户提供服务器硬盘上的文件(即发送 HTTP 附件以触发浏览器的“另存为...”对话框)。用户单击页面上的按钮,服务器根据他/她的一些帐户设置(和其他参数)生成自定义数据文件,然后弹出“另存为...”对话框。我应该如何在 Javascript 中实现这个?

edit:供您参考,服务器有 Glassfish 和 Apache


Jane,

另存为对话框仅在页面加载时出现。您需要将用户直接重定向到您希望他们保存的文件,或者重定向到提供该文件的服务器端页面。

一旦知道文件的地址,就可以执行类似的操作

window.location = http://yourserver.com/generatedfiles/file_2342342.txt

或者,执行如下操作:

window.location = http://yourserver.com/getgeneratedfile.aspx?fileID=2342342

...这会将用户重定向到提供生成文件的页面。然后,您需要在来自该页面的标头中指定内容处置和文件名,如甘道夫的回复中所述。

Edit:啊,你正在使用 Apache。那时可能不会有 ASPX 文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Javascript 向用户发送 HTTP 附件(打开浏览器的“另存为...”对话框) 的相关文章

  • Sequelize.js 中的自定义或覆盖连接

    我需要使用创建自定义连接条件Sequelize js http sequelizejs com使用 MSSQL 具体来说 我需要加入TableB基于一个COALESCE中的列的值TableA and TableB并最终得到这样的连接条件 L
  • 使用 jQuery / .data() 避免内存泄漏

    我正在使用 jQuery 动态创建 HTML 元素 现在需要针对它们存储 JavaScript 数据 但是 我现在担心内存泄漏 因为我实际上从未在对象上调用 删除 我 append 和 detach 它们 但从不 remove jQuery
  • Webpack 缺少 CommonsChunk 和 extract-text-webpack-plugin 模块

    我正在跟进Maxime Fabre 的 Webpack 教程 https blog madewithlove be post webpack your bags 我正在尝试获得一个非常简单的 webpack 包 其中包含 1 个入口点和 2
  • 拖放区缩略图宽度图像大小

    如何更改上传图像的缩略图大小 我在我的javascript中尝试过thumbnailWidth 350 但是这不会增加缩略图大小 而缩略图只是看起来放大了 如何操作图像缩略图大小 HTML section section
  • 为什么“事件”在 Chrome 中全局可用,而在 Firefox 中则不然?

    在回答另一个问题时 出现了一个与event对象在匿名函数中可用 无需传入 在 Chrome 中 下面的代码工作正常 但 Firefox 会抛出错误 document ready function uspsSideboxTrackingClo
  • 缓存 firestore 中 get 的第一个实现

    我希望 firestore 每次都先从缓存中获取数据 根据 Firestore 文档 传递 缓存 或 服务器 选项必须启用相同的功能 下面的例子 db collection cities where capital true get cac
  • 获取请求的客户端 IP 地址而不是 Cloudflare 的 IP 地址

    Cloudflare 会更改传入请求的 IP 地址 因为 Cloudflare 是我的网站和互联网之间的中间件 代理 我该怎么办获取请求的初始IP地址 而不是 Cloudflare 的 IP 地址 我听说过mod cloudflare但是这
  • React/Redux bundle.js 太大

    我有一个小型的 React 项目 Webpack生成的bundle js大小为6 3Mb 如何将大小减小到 github webpack config js module exports devtool inline source map
  • Nodemailer:从未收到问候语

    当尝试使用 Nodemailer 在 Node 内发送电子邮件时 https github com nodemailer nodemailer https github com nodemailer nodemailer 调用sendMai
  • Typescript:如何在自定义过滤器中使用角度 $filter

    如何在自定义过滤器中使用 Angular filter 如何注入 filter依赖 module Filters export class CustomFilter public static Factory return function
  • 在 IE10 中禁用捏合放大

    在 IE10 触摸模式下 我希望仅使页面的特定部分可缩放 其余的不应该 我找到了这个 http msdn microsoft com en US library ie hh772044 aspx http msdn microsoft co
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 如何将函数传递给 JavaScript Web Worker

    我想通过一个 或多个 函数传递postMessage 给网络工作者 因为我无法引用常规文件 为了启动 Web Worker 我将一个对象 URL 从 Blob 创建 传递给Worker构造函数 然后我传递一条消息 但到目前为止还没有在消息中
  • 更改时触发跨度文本/html

    jQuery 或 JavaScript 中是否有任何事件在以下情况下触发span标签 text html 已更改 Code span class user location span user location change functio
  • 带时间戳的 Firestore 查询

    如果它是文本字段 我可以使用 where 条件获取数据 但是当我尝试对时间戳字段和日期执行相同操作时 事情不起作用 这是我的代码 home ts firebase firestore collection cities where time
  • 从相机视图中拖动锁定在一定距离/半径处的对象

    我在场景中心有一个相机 距离相机 z 400 处有 1 个球体 其父级位于中心 我想从视图中向上 向下 向左 向右拖动球体 但同时不改变它相对于中心的 z 位置 我最终使用了另一个球体并使其不可见 添加side THREE DoubleSi
  • 如何修复 getImageData() 错误画布已被跨源数据污染?

    我的代码在本地主机上运行得很好 但在网站上却不起作用 我从控制台收到此错误 对于这一行 getImageData x y 1 1 data Uncaught SecurityError Failed to execute getImageD
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • 跨浏览器:禁用输入字段的不同行为(文本可以/不能复制)

    我有一个被禁用的输入 html 字段 在某些浏览器 Chrome Edge Internet Explorer 和 Opera 中可以选择并复制文本 但至少在 Firefox 中这是不可能的 您可以通过在不同浏览器中执行以下代码来测试
  • NodeJS:如何获取服务器的端口?

    您经常会看到 Node 的示例 hello world 代码 它创建一个 Http Server 开始侦听端口 然后执行以下操作 console log Server is listening on port 8000 但理想情况下你会想要

随机推荐

  • 构建 DLL 时;我应该链接到什么类型的 CRT?

    在窗户中 有 2 个选项可链接到 CRT 多线程 静态链接 多线程 动态链接 有人可以阐明这里的最佳实践是什么吗 我应该 静态 链接到 CRT 还是进行动态链接 如果我进行动态链接 并且编写一个使用我的 DLL 另一个第 3 方 DLL 正
  • 从https页面转到http页面时是否发送HTTP标头Referer?

    经过几次测试后 我开始得出这样的结论 当用户从 https 页面单击到 http 页面时 浏览器不会发送 Referer HTTP 标头 这是出于什么安全原因 是在标准中的某个地方定义的吗 The HTTP RFC http www w3
  • 大数字的 NumberFormatter 问题

    我尝试使用此代码将字符串转换为数字 反之亦然 此代码必须打印相同的输出 但其输出不正确 谁能帮我 let formatter NumberFormatter NumberFormatter formatter locale Locale i
  • 如何在十亿像素位图上实现平移/缩放?

    在我的项目中 我使用来自高分辨率扫描仪的 未压缩的 16 位灰度 十亿像素图像来进行测量 由于这些位图无法加载到内存中 主要是由于内存碎片 我正在使用图块 以及光盘上的图块 TIFF 看StackOverflow 主题 https stac
  • ASP.NET MVC 2 并列为隐藏值?

    Hi 我有一个包含列表的 View 类 该列表解释了用户已上传的可用文件 使用 html 助手呈现 为了在提交时维护此数据 我在视图中添加了以下内容 我希望 mode ModelView Files 列表将返回到提交操作 但事实并非如此 是
  • 在浏览器中模拟linux终端

    我读过 Fabrice Bellard 在浏览器中模拟 Linux 的内容 Fabrice Bellard 的 Javascript Linux 模拟器如何工作 https stackoverflow com questions 60304
  • 如何编写Python表达式来过滤掉某些字符串

    有一个由多个数字组成的字符串 例如 12 03 5 897 7 10 74 0 103 12 05 6 4 1 8 98 我想用Python正则表达式仅输出那些带有 ONLY 的数字single dot 例如 12 03 and 5 897
  • 三字母组在 C++ 中仍然有效吗?

    我们都知道历史好奇心 https stackoverflow com a 1234618 560648那是二合字母和三合字母 http en wikipedia org wiki Digraphs and trigraphs 但随着近年来
  • 通过C#检索CRM中所有帐户的列表?

    我正在尝试从 CRM 2011 检索所有帐户记录 以便我可以使用 ForEach 循环循环浏览它们并填充下拉列表 我正在读这篇文章 检索实体列表 https stackoverflow com questions 7409091 retri
  • ARM TrustZone 的安全/正常世界与操作系统的内核/用户模式或 x86 的 Ring0/1/2/3?

    我读了这样的文档TrustZone 安全白皮书 http infocenter arm com help topic com arm doc prd29 genc 009492c PRD29 GENC 009492C trustzone s
  • 加密数据作为字符串

    我对加密和 C 语言很陌生 所以这可能是一个明显的问题 但我找不到解决问题的方法 我正在 C 上制作一个应用程序 并在 Linux 中使用 openssl 进行加密 我从这个 url 获得了一个 C 代码示例 该代码允许使用 SHA 加密和
  • 如何使用 dockerfile 在 aws sagemaker 中运行 python 文件

    我有一个 python 代码和一个经过预先训练的模型 并且有一个 model pkl 文件与我在代码所在的同一目录中 现在我必须运行它或将其部署到 aws sagemaker 但没有得到任何解决方案由于aws sagemaker仅支持两个命
  • Html5 拖放到 svg 元素上

    我正在尝试遵循 html5 拖放教程here http www html5rocks com tutorials dnd basics 我无法得到dragstart要注册的事件rect元素 如果我将事件从draggable to mouse
  • Java进程内存使用量不断增加

    前提条件 具有 16 GB RAM 的电脑 Ubuntu 16 10 x64 上安装了 JDK 1 8 x 一个基于 Spring 的标准 Web 应用程序 部署在 Tomcat 8 5 x 上 Tomcat 配置了以下参数 CATALIN
  • Python/Django 时间戳,包括毫秒

    我需要按以下格式打印 并传递给外部 API 当前日期时间 DD MM YYYY HH MM SS SSS 最后 3 个SSS表示毫秒 我知道如何使用 Python 打印当前的日期时间 最多微秒 strftime http docs pyth
  • 检查 CalledProcessError 的输出

    我正在使用 python 子进程模块中的 subprocess check output 来执行 ping 命令 我是这样做的 output subprocess check output ping c 2 W 2 1 1 1 1 它引发
  • 如何正确配置 NSFetchedResultsController

    我将 NSFetchedResultsController 放入我的代码中 这样我就可以对表视图数据进行很好的自动分段 所以我正在运行测试以确保一切正常 我的持久存储中有一个 Book 实体 我将首先以旧方式执行获取 然后尝试使用 NSFe
  • Django Admin:根据先前的字段值填充字段

    我在 django admin 中有一个模型如下 ChoiceA on false on false on true on true ChoiceB always always never never id models CharField
  • SAFESEH:NO 选项的实际作用

    我正在尝试使用boost asio spawn功能就像在example http www boost org doc libs 1 55 0 doc html boost asio example cpp03 spawn echo serv
  • 使用 Javascript 向用户发送 HTTP 附件(打开浏览器的“另存为...”对话框)

    我是网络开发的新手 所以如果这个问题很菜鸟 我深表歉意 我想在 Javascript 中请求时向用户提供服务器硬盘上的文件 即发送 HTTP 附件以触发浏览器的 另存为 对话框 用户单击页面上的按钮 服务器根据他 她的一些帐户设置 和其他参