文件上传与其他客户端
问题描述:
型号..文件上传与其他客户端
def self.upload_client_document(params)
client_document = self.new :uploaded_data => params[:Filedata],:client_id => params[:client_id],:document_name => self.default_document_name,:document_description => self.default_description_name
client_document.rename_document_name
client_document.save!
# RAILS_ROOT + client_document.public_filename This will return path to file like
# C:/projects/test_project/client_documents/0000/0012/A100-bal.csv
RestClient.post 'http://demo.testltd.com/V12345/search.aspx?username=test1&password=test2',
:upload => File.new(RAILS_ROOT + client_document.public_filename)
end
得到错误errno的:: ENOENT(没有这样的文件或目录 - C:/projects/test_project/client_documents/0000/0012/A100-bal.csv ):
但文件在那里的文件夹...
任何想法?这段代码有什么问题? 任何我需要修改休息客户端?
答
File.new创建一个文件。你想File.read
RestClient.post 'http://demo.testltd.com/V12345/search.aspx?username=test1 &密码= test2的', :上传=> File.read(RAILS_ROOT + client_document .public_filename)
另外:RAILS_ROOT也被弃用。使用Rails.root 此外:client_document.public_filename不应该被信任,不包括诸如“../../”
...所以...
:上传=> File.read(Rails.root.join(File.basename(client_document.public_filename)))