gpt4 book ai didi

ruby - 导轨/ ruby : uploading a binary File and writing it with a File-Object

转载 作者:数据小太阳 更新时间:2023-10-29 07:54:03 27 4
gpt4 key购买 nike

我需要在我的网站上上传 Word 和 Excel 文件。

我创建一个上传表单,上传文件并像这样保存:

f = File.new("public/files/#{user.id.to_s}/filename", "w+")
f.write params[:file].read
f.close

Word 和 Excel 文件必须保存为二进制数据。

遗憾的是,文件模式“b”仅适用于 windows,而我在 linux 下。

怎么办?

你的,

乔恩

最佳答案

二进制文件模式“b”可能会与任何关键字母(r、r+、w、w+、a、a+)一起出现,所以你可以这样做 f = File.new("public/files/#{user.id.to_s}/filename", "w+b").

而且“b”模式不仅仅适用于windows。 Ruby 文档说 “二进制文件模式(可能与任何关键字母 r、r+、w、w+、a、a+ 一起出现。在 Windows 上禁止 EOL <-> CRLF 转换。并将外部编码设置为 ASCII-8BIT除非明确指定。” 并没有说“b”仅适用于 windows。它只是说明它在带有行尾的 windows/linux 上工作不同。所以你可以在 linux 和 windows 上使用“w+b”模式.

关于ruby - 导轨/ ruby : uploading a binary File and writing it with a File-Object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7697759/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com