草庐IT

X-Sendfile

全部标签

ruby-on-rails - rails - x-sendfile + 临时文件

前段时间我写了aquestion关于在Rails应用程序中使用临时文件。在特殊情况下,我决定使用tempfile如果我还想使用x-sendfile指令(asaparameterinRails2,orasaconfigurationoptioninRails3)以便文件发送由我的Web服务器直接处理,而不是我的Rails应用程序,这会导致问题。所以我想做这样的事情:require'tempfile'deffoo()#createsatemporaryfileintmp/Tempfile.open('prefix',"#{Rails.root}/tmp")do|f|f.print('ate

ruby-on-rails - 保护公共(public)内容/Rails 应用程序中的内容

我正在维护一个Rails应用程序,它在public/文件夹中有内容,现在需要通过登录来保护这些内容。我们正在考虑将这些文件文件夹移动到public/之外的路径,并编写一个RailsController来提供内容。在我们开始写这篇文章之前,我很好奇是否还有其他人遇到过此类问题?我寻找了一些可能已经这样做但没有找到任何东西的gem/插件。有人为此创建了gem吗? 最佳答案 我在一个人们付费下载某些文件的站点上完成了此操作,这些文件存储在RAILS_ROOT/private中。首先要知道的是,您希望网络服务器处理发送文件,否则您的应用程序

ruby-on-rails - 在 Ruby on Rails 中,send_file 方法后从服务器删除文件

我正在使用以下代码在Rails中发送文件。ifFile.exist?(file_path)send_file(file_path,type:'text/excel')File.delete(file_path)end在这里,我尝试发送文件并在成功发送后从服务器中删除文件。但我面临的问题是,在执行发送时删除操作正在执行,因此我在浏览器中看不到任何内容。那么在Rails中有没有什么办法,一旦send_file操作完成就从服务器上删除文件。如有任何帮助,我们将不胜感激。谢谢,切坦 最佳答案 因为您正在使用send_file,Rails会将

javascript - res.sendFile 不是函数 Node.js

我无法使用node.js发送HTML文件所以首先这是我得到的错误Applicationhasthrownanuncaughtexceptionandisterminated:TypeError:res.sendFileisnotafunctionatServer.(C:\ProgramFiles\iisnode\www\test\app.js:4:6)atemitTwo(events.js:88:13)atServer.emit(events.js:173:7)atHTTPParser.parserOnIncoming[asonIncoming](_http_server.js:529

php - 412 - 使用 X-SendFile 传送的文件的前提条件失败

使用X-SendFile将较大的视频文件传送给用户时,我遇到了一个奇怪的行为。服务器响应412-前提条件失败。如果我禁用X-SendFile一切正常,那么它必须与此相关。部分代码:$finfo=finfo_open(FILEINFO_MIME_TYPE);$mime=finfo_file($finfo,$file_path);header("Content-type:".$mime);finfo_close($finfo);header('Content-length:'.filesize($file_path));header('Content-Disposition:inline;

php - 对于连接速度慢的人来说,下载用 PHP 提供的大型(ish)zip 文件会损坏

我是新手,所以我会尽力解释我遇到的问题。如果有遗漏或不清楚的地方,我提前道歉。我在我的根目录外为事先经过验证的人提供了一个81MB的zip文件。我收到有关下载损坏或无法完成下载的报告。如果我模拟慢速连接,我已经在我的机器上验证了这种情况。我在运行Apache-Coyote/1.1的共享主机上。我收到网络超时错误。我认为如果下载时间过长,我的主机可能会终止下载,但他们尚未通过任何一种方式进行验证。我以为我可能遇到了内存限制或时间限制,所以我的主机安装了apache模块XSendFile。我在验证后处理下载的文件中的标题是这样设置的:如有任何帮助或建议,我们将不胜感激。谢谢!

php - xsendFile 下载有 0 个字节

在LAMP堆栈上,我无法让xSendFile工作。问题是下载有0个字节。为了确保我安装了xSendFile,我已将其添加到我的.htaccess文件中:SetEnvMOD_mod_xsendfile1(我无法用apache_get_modules()测试它,因为我正在将PHP作为fastCGI运行。)然后我有以下PHP代码:if(1!=getenv('MOD_mod_xsendfile')){echo'mod_xsendfileisnotinstalled';}else{$path='/home/infar/';$file='hello.txt';if(file_exists($pat

javascript - HTTP 文件下载 : Monitoring Download Progress

我遇到的情况是,我必须通过HTTP协议(protocol)从Web服务器:Apache2.4.4下载大文件(最大4GB)。我尝试了几种方法,但最好的解决方案看起来是使用X-SendFile模块。由于我为文件上传提供了进度条,因此我需要为文件下载提供相同的功能。所以这是我的问题:是否有任何方法(包括解决方法)来实现文件下载进度监控?是否有任何方法(包括变通方法)来计算文件下载传输速度?有没有比使用X-Sendfile模块更好的方法来从网络服务器提供高效的文件下载?一般来说,是否有更好的文件下载选项,可以让我监控文件下载进度?它可以是客户端(JavaScript)或服务器解决方案(PHP)

php - Nginx:X-Accel-Redirect 在具有已知 MIME 扩展名的文件中不起作用

我正在开发一个Web应用程序,X-Accel-Redirectheader只能在没有扩展名的文件中正常工作。出于某种原因,如果我向文件名添加扩展名,X-Accel-Redirect将不起作用。工作示例:X-Accel-Redirect:/protected_files/myfile01.z非工作示例:X-Accel-Redirect:/protected_files/myfile01.zip我正在使用nginx1.7.1。最初,奇怪的是,如果我用mime.types文件中未注册的内容更改扩展部分(在本例中为“.zip”),它工作正常(显然我相应地重命名了文件),但是指向已知MIME类型

为什么不res.sendfile负载图像

为什么图像不加载res.sendfile?这是server.js文件,red.html文件如下。如果我单独加载red.html文件,则图片准确显示server.jsvarexpress=require('express');varapp=express();varhttp=require('http').Server(app);app.use(express.static(__dirname+'/server'));app.get('/',function(req,res){console.log("hello");res.sendFile('C:/Users/juniper/Document