假设我想使用curl以这种方式将文件放到web服务中
curl -v --location --upload-file file.txt http://localhost:4567/upload/filename
Run Code Online (Sandbox Code Playgroud)
在sinatra我能做到:
#!/usr/bin/env ruby
require 'rubygems'
require 'sinatra'
put '/upload/:id' do
#
# tbd
#
end
Run Code Online (Sandbox Code Playgroud)
我该如何阅读流媒体文件?
或多或少我想要这样的东西:http: //www.php.net/manual/en/features.file-upload.put-method.php#56985
最基本的示例是将其写入您正在运行 sinatra 的当前目录,而不检查现有文件......只是破坏它们。
#!/usr/bin/env ruby
require 'rubygems'
require 'sinatra'
put '/upload/:id' do
File.open(params[:id], 'w+') do |file|
file.write(request.body.read)
end
end
Run Code Online (Sandbox Code Playgroud)
另外,您可以在curl命令中省略文件名部分,它会用文件名为您填充它。敌人的例子:
curl -v --location --upload-file file.txt http://localhost:4567/upload/
Run Code Online (Sandbox Code Playgroud)
将导致将文件写入http://localhost:4567/upload/file.txt
| 归档时间: |
|
| 查看次数: |
3105 次 |
| 最近记录: |