问题标签 [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.
c++ - sendfile 不复制文件内容
我创建文件1.txt
2.txt
并将一些内容写入1.txt
.
然后我使用下面的代码并将内容复制到2.txt
.
但它不起作用。里面什么都没有2.txt
。
你能解释一下我的错误吗?
ruby-on-rails - 使用 rails 创建一个下载链接到带有 at URL 的外部文件
我将文件存储移动到 Rackspace Cloudfiles,它破坏了我的 send_file 操作。
老的
新的
当文件在公共文件中时。代码效果很好。当您单击链接时,文件将下载并且网页不会更改。现在它给出了这个错误。
我错过了什么?
非常感谢您的参与。
ruby-on-rails - delay_job 类中的 send_file
我在 delay_job gem 的帮助下在后台生成 xls 文件。在此之后,我想将文件发送给用户。有没有办法在 delay_job 类的控制器之外调用 send_file 方法?
c# - 使用 Socket.SendFile() 传输 *.exe 文件时遇到问题
在 Win7 x64 上的 Visual Studio 2012 Ult 中使用 .NET 4.5 中的 C#。
我正在尝试使服务器通过该System.Net.Sockets.Socket.SendFile(string filename)
方法传输文件,并让客户端接收它。客户端将接收到的字节附加到它创建的文件的末尾,以在其一侧重建发送的文件。这一切都有效 - 至少对于基本的文本文件。
当我尝试发送 *.exe 文件时,收到的 *.exe 不起作用。在 Notepad++ 中打开源 *.exe 和客户端副本,文件似乎是正确的,只是一些看起来很奇怪的字符不正确。我的问题是我该如何解决这个问题?
由于服务器代码实际上只是使用Socket.SendFile(string filename)
没有其他相关选项来发送文件,因此我假设客户端是问题所在。
在客户端:
我的猜测是编码string received = Encoding.UTF8.GetString(obj.buffer);
不正确,但我已经尝试了所有的 Encoding.something 选项,但它们都没有正确传输文件。
或者,也许文件编写System.IO.TextWriter fileStream = File.AppendText(string filename);
器是问题所在?
linux - Linux >2.6.33:sendfile() 可以用来实现更快的“猫”吗?
必须将许多大文件连接成一个更大的单个文件,我们目前使用
但想知道是否可以比与那个老朋友更快地完成。阅读手册页sendfile()
,可以指定 *input_file* 的偏移量,从哪里将其剩余部分发送到 *output_file*。但是:我还可以指定 *output_file* 的偏移量吗?或者我可以简单地循环所有输入文件,只需打开我的输出 FD 和 sendfile()'ing 重复进入它,有效地连接 *input_files*?换句话说:如果我不关闭它也不在其中寻找(),指向我的输出 FD 的文件指针是否会保留在其末尾?
有人知道这样的cat
实现sendfile()
吗?
诚然,我是管理员,而不是程序员,所以请忍受我缺乏“真正的”编码知识......
java - 使用套接字将文件从客户端发送到服务器,但得到一些大小为零的文件
我正在写一些代码
- 客户端从命令行获取文件名(文本文件)
- 客户端将每个文件转换为字节数组,然后将此数组发送到服务器。
- 服务器启动一个新线程,每个线程将字节数组转换为某个指定目录中的新文件。
我的客户代码是
对于客户端
服务器端
问题:服务器无法正确获取文件意味着有时新文件的大小为零(无数据)。例如,我检查过使用 java Client *c 服务器发送 239 个 c 文件,服务器正在接收随机数量的文件(在范围 180-235) 甚至它接收的某些文件大小为零。
c# - 尝试对无法访问的主机 windows CE 进行套接字操作
我正在通过无线从智能设备 windows CE 向 PC 发送文件,该文件通过 TCP 发送,当我通过笔记本电脑的主动同步部署应用程序来测试它时,它可以正常工作。但是当应用程序安装在设备内时,它没有发送文件,它向我显示异常:尝试对无法访问的主机进行套接字操作,代码如下
我不知道如何解决这个错误请帮助
android - Nexus 7 Android 文件传输(Android 中的套接字编程)
这是我的 android 客户端类代码。但是当我说连接时它崩溃并关闭。我在清单上添加了权限(清单上没有问题)。我过去在不同的平板电脑上使用了 code 的一部分。但我尝试了 Nexus 7,它就崩溃了。
这也是我的清单权限:
谁能知道我的nexus 7有什么问题?我也以开发人员的身份打开了nexus 7,但没有任何改变。同样它崩溃了。
c# - FileStream 抛出找不到文件
该程序旨在设置文件路径,其想法是设置数据时,应使用此功能:
将文件路径中给定的文件发送到接收文件数据的服务器端程序。
问题是,当它到达该行时FileStream openFileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
,它告诉我找不到该文件。它给出的例外是,Exception:Thrown: "The process cannot access the file 'D:\StepMania\Songs\Fragma\You Are Alive\Green.avi' because it is being used by another process." (System.IO.IOException)
A System.IO.IOException was thrown: "The process cannot access the file 'D:\*FilePath*\Green.avi' because it is being used by another process."
Time: 04-05-2013 21:11:39
Thread:Main Thread[5532]
但我想不出在 StepMania 未运行时会使用此文件的任何进程。我知道该文件在那里,因为我检查了文件路径并且它应该在那里。如果文件与程序位于完全相同的文件夹中,它就可以正常工作,但除此之外,我似乎找不到解决此问题的方法。有没有人对可能出现的问题有任何想法?
如果您需要更多我的代码,请告诉我。
编辑:我的服务器使用此代码接收文件:
ruby-on-rails - Nginx 在使用 send_file 提供受保护资产时抛出 HTTP 500
我在使用 Nginx + Unicorn + Rails 提供受保护资产 (PDF) 时遇到问题。问题是有时文件被正确发送,但有时 Nginx 返回 HTTP 500,尽管 Rails 日志看起来不错:
Nginx:
PapersController 有一个成员操作下载,它只是发送 PDF(资产使用 Carrierwave 上传),因此控制器如下所示:
Rails 配置为与 Nginx 一起使用,因此 sendfile 标头在以下位置正确设置production.rb
:
我的主要 Ngnix 配置是非常标准的,对于该站点,它被配置为使用 Unicorn 作为上游服务器,我添加了一个额外的位置用于上传目录,使其不可浏览,但 Nginx 能够从该目录提供资产。
nginx.conf:
站点配置:
由于来自 Nginx 的访问日志没有真正的帮助,我打开了调试日志,这就是 HTTP 500 情况下的日志的样子:
有人知道出了什么问题吗?最奇怪的是,它是不可复制的。有时有效,有时无效!
任何帮助深表感谢!