Ponyを使用してSinatraでアップロードフォームを機能させようとしています。現在、すべてが正常に機能し、ファイルが読み取られ、電子メールが正常にメールで送信されます。添付ファイルを添付できないようです。ファイルのパスを正しく呼び出していないと思いますか?Ruby / Sinatra / Ponyのシーン全体に慣れていないので、完全にはわかりません。何か助けはありますか?とても有難い!
これが私が今持っているものです:
post '/upload' do
unless params[:file] &&
(tmpfile = params[:file][:tempfile]) &&
(name = params[:file][:filename])
@error = "No file selected"
return :success
end
STDERR.puts "Uploading file, original name #{name.inspect}"
while blk = tmpfile.read(65536)
# here you would write it to its final location
STDERR.puts blk.inspect
end
logger.info "some"
Pony.mail(
:from => params[:uname] + "<" + params[:email] + ">",
:to => 'example@example.com',
:subject => "Internship Prospect " + params[:uname] + " has contacted you",
:body => "Hello,\n\nYou have a new contact request\n\nName: "+params[:uname]+"\nEmail: "+params[:email]+"\n\nMessage:\n"+params[:message]+"\n\nThanks,\The Team",
:port => '587',
:via => :smtp,
:via_options => {
:address => 'smtp.gmail.com',
:port => '587',
:enable_starttls_auto => true,
:user_name => 'name@example.com',
:password => 'password',
:authentication => :plain,
:domain => 'localhost.localdomain',
:attachments => {params[:file][:filename] => File.read(params[:file][:tempfile])}
})
redirect "/success"
end