问题标签 [sendfile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 发送文件问题
我正在使用 send_file 发送一些我生成的 CSV 数据。
但是我通过以下方式下载了这个send_file
(它应该下载带有“Hello World”字符串的文件)
如果我通过浏览器打开它:
Hello World
它以文本正确打开。
同样在开发中,它工作正常。仅在生产中且仅使用此文件。
编辑
虽然我不知道这种行为的原因,但我切换到send_data
对我来说效果很好。
ruby-on-rails-3 - Rails 3 - 如何发送文件以响应 Rails 中的远程表单?
我有这张优惠券表格
在验证控制器操作的代码后,我得到了如下确认:
现在我想用send_file
指令向浏览器发送一个文件,但似乎什么也没发生
在日志中我可以看到
我想知道是否有类似的东西
我的控制器的动作看起来像
nginx - Nginx 错误日志中的消息“X-Accel-Mapping header missing”
我正在使用 Nginx 1.0.0 和 Passenger 3.0.7 在 Ubuntu 8.04 上运行 Rails 3 站点。
在我的 Nginx error.log 中,我开始看到X-Accel-Mapping header missing
很多消息。谷歌搜索将我带到Nginx docsRack::Sendfile
的文档和文档。
现在,可以通过多个域访问我的应用程序,并且我send_file
在我的应用程序中使用它来提供一些特定于请求它们的域的文件,例如,如果你来domain1.com/favicon.ico
我在public/websites/domain1/favicon.ico
. 这很好用,我认为我不需要/不想让 Nginx 参与并创建一些私有区域来存储这些文件,正如Rack::Sendfile
文档中的示例所建议的那样。
我怎样才能摆脱错误信息?
ruby-on-rails - rails 媒体文件流通过 send_data 或 send_file 方法接受字节范围请求
我有以下问题。声音从公共文件夹中隐藏,因为只有某些用户应该有权访问声音文件。所以我做了一个方法,它的作用就像一个声音的url,但首先计算当前用户是否被允许访问这个文件。
该文件由 send_data 方法发送。问题只是,即使它可以正常工作,我的工作也会很慢......我用来播放声音的 jplayer 插件的开发人员告诉我,我应该能够接受字节范围请求以使其正常工作...
如何通过发送带有 send_data 或 send_file 的文件在 Rails 控制器中执行此操作?
谢谢,马库斯
c# - 在 C# 中发送文件
我可以在 C# 中同时将一个端口上的文件发送到多台计算机吗?就像我有代码要通过System.Net.Sockets
端口发送1234
,我想将文件发送到 5 台计算机。我可以同时做吗?
linux - 如何将服务器套接字的输出“管道”或“链接”到另一个类似于 sendfile 的服务器套接字的输入?
在 Linux 中,使用 sendfile 可以直接将文件传输到套接字。
但是假设我们有两个服务器套接字,我们希望第一个的输出到第二个。
怎么做?代替
php - 将 xml 文件从 php 发送到 android 应用程序
我正在尝试将 xml 文件作为 httpresponse 发送到来自 android 应用程序的帖子。
我了解如何从此处的 php 页面发送数据。
是否可以发送 xml 文件作为响应?
还是我必须将 xml 文件的内容作为字符串发送并在应用程序中解析它?
如果可能,如何在我的应用程序中读取文件,以便解析它以获取信息?
谢谢你。
ruby-on-rails-3 - Rails send_file 在通过 Web 服务调用时不发送数据
我处于一种奇怪的情况,即 send_file 无法正确发送文件。这是情况:
Rail 版本:3.0.10 和 3.1.0 [两个不同的测试分支] Ruby:1.9.2 on RVM Webserver:Apache with Passenger
我的客户有一个文件管理系统;我致力于将它从 Rails 2 升级到 Rails 3(现在是 Rails 3.1)。我们主要重新开发了这个系统,因为早期的系统已经很老了。除了一个之外,所有功能都可以正常工作。该应用程序允许用户下载分配给他们的文档。当用户登录时,他们可以看到分配给他们的文档并可以下载。它工作得很好。这是有效的代码:
有一个客户,他们(我的客户)已经为他们制定了早期的解决方案,以便在通过基于 .NET 的 Web 服务(或任何可能被调用的服务)请求时发送文档。Web 服务以用户身份进行身份验证,然后转发到文档下载路径。我能够使 Web 服务进行身份验证,然后重定向到下载文件的控制器操作,但它不起作用。服务器日志说一切正常:
我已经更改了特定的名称和 IP。请注意,IP (12.123.12.123) 用于托管 Web 服务的服务器。
我正在与开发 .NET Web 服务的开发人员通话,他说除了内容长度为 -1 并且他没有收到任何内容外,他得到了所有的标头正确。他说所有其他标题都是正确的。
解决问题;我通过尝试设置所有可能的选项(x_sendfile、流、处置等)尝试了 send_file 的多种变体。我还尝试设置标题:
但是当我使用 Web 服务下载文件时,没有任何效果。但是,相同的方法直接在浏览器中工作[我通过绕过代码中的身份验证进行测试]。
我尝试使用 send_date,但它不起作用:
作为一种解决方法,我尝试了 redirect_to 而不是发送文件,并在公用文件夹中使用了一个测试文件,它可以工作。虽然不安全,但这似乎工作正常。唯一的问题是浏览器现在正在打开文档而不是下载它。
请帮我。
更新:问题与 Rails 现在发送分块内容和 Web 服务期望内容长度有关。
ruby-on-rails - 在 chrome 中通过 Ruby on Rails 播放 MP3
我正在编写一个 Ruby on Rails 应用程序,它允许用户上传一个 mp3 文件,然后播放它。我让它工作到用户可以做这些事情的地步,但是在寻找歌曲时存在问题。如果用户向前寻找(或让它播放)到歌曲中的某个位置,通常是歌曲的 2/3 或 3/4,然后尝试回到开头(例如 0:20),则播放计时器将转到 0:20,就像它应该的那样,但实际的音频将重新开始,就好像用户寻求到 0:00 一样。
现在我只是试图让这首歌在 chrome 的基本 html5 mp3 播放器中播放,它在传递一个 mp3 文件时使用它。这是我用来提供文件的代码,希望有所有正确的标题:
我将不胜感激对这个问题的任何见解。我觉得我很接近,因为它几乎所有工作,除了在开始附近寻找导致新请求。
谢谢!
c - 您将如何接收使用“sendfile”发送的文件?
我正在尝试实现一个基本的文件服务器。我一直在尝试使用此处找到的 sendfile 命令:http: //linux.die.net/man/2/sendfile我正在使用 TCP。
我可以让它很好地发送,但它以二进制发送,我不确定这是否是挂断。
我正在尝试使用 recv 接收文件,但它没有正确通过。有没有一种特殊的方法来接收二进制文件并将其放入字符串中?
编辑:被要求提供一些代码,这里是:
SENDFILE 调用(来自服务器进程)
RECIEVE 调用(来自客户端进程,比循环更基本,只需要一个字母)
编辑:写了一些代码来检查返回值。sendfile 给出 errno 9 - 错误文件号。我假设这是我在调用中的第二个文件描述符(我正在发送的文件的那个)。我将其转换为 int 是因为 sendfile 抱怨它不是 int。
鉴于我在上面的 sendfile 调用中使用的文件指针代码,我应该如何使用发送文件?