中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ruby在Linux中處理文件上傳下載

發布時間:2024-09-15 15:00:39 來源:億速云 閱讀:97 作者:小樊 欄目:建站服務器

在 Linux 系統中,Ruby 提供了多種方法來處理文件的上傳和下載

  1. 文件上傳:

要在 Ruby 中實現文件上傳功能,你可以使用 CGI 或者 Sinatra 等 Web 框架。這里我們以 Sinatra 為例:

首先,確保已經安裝了 Sinatra gem:

gem install sinatra

然后,創建一個名為 upload.rb 的文件,并添加以下代碼:

require 'sinatra'

get '/' do
  <<-HTML
    <form action="/upload" method="post" enctype="multipart/form-data">
     <input type="file" name="file">
     <input type="submit" value="Upload">
    </form>
  HTML
end

post '/upload' do
  if params[:file] &&
     (tmpfile = params[:file][:tempfile]) &&
     (name = params[:file][:filename])
    File.open("uploads/#{name}", 'wb') do |f|
      f.write(tmpfile.read)
    end
    "File uploaded successfully!"
  else
    "No file selected."
  end
end

這個簡單的 Sinatra 應用程序提供了一個表單,允許用戶選擇要上傳的文件。當用戶提交表單時,應用程序將接收到的文件保存到名為 “uploads” 的目錄中。

要運行此應用程序,請在命令行中輸入以下命令:

ruby upload.rb
  1. 文件下載:

要在 Ruby 中實現文件下載功能,你可以使用 Sinatra 框架。這里我們繼續使用 Sinatra:

upload.rb 文件中添加以下代碼:

get '/download/:filename' do
  filename = params[:filename]
  send_file "uploads/#{filename}", :filename => filename, :type => 'application/octet-stream'
end

這段代碼定義了一個新的路由,允許用戶通過訪問 /download/:filename URL 下載指定的文件。:filename 參數將被替換為實際的文件名。

現在,你可以通過訪問 /download/your_file_name 下載已上傳的文件。

注意:在生產環境中,你需要添加適當的錯誤處理和安全措施,例如檢查文件是否存在、驗證用戶身份等。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元氏县| 福建省| 望奎县| 贵南县| 百色市| 灵宝市| 长乐市| 孟津县| 沛县| 吉木萨尔县| 利津县| 肇东市| 大埔区| 绍兴县| 周至县| 宁晋县| 鹤庆县| 汪清县| 雅安市| 屏东市| 邯郸县| 阳山县| 洪江市| 惠州市| 江门市| 桂阳县| 郧西县| 肥城市| 太康县| 东阿县| 榆树市| 页游| 遂宁市| 韶关市| 清流县| 北票市| 家居| 东安县| 花莲市| 洛宁县| 红桥区|