# Problems ftp'ing

**URL:** <https://www.ruby-forum.com/t/problems-ftping/63608>\
**Category:** Ruby\
**Created:** [June 16, 2006, 4:53pm UTC](https://www.ruby-forum.com/t/problems-ftping/63608 "2006-06-16T16:53:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 16, 2006, 4:53pm UTC](https://www.ruby-forum.com/t/problems-ftping/63608/1 "2006-06-16T16:53:12Z")

</div>

I keep getting errors with this simple ftp script. Real names and  
passwords have been changed to protect the innocent. I just need to send  
the input files to the ftp target without the extensions they have.

Thanks for any help.

## 1 require ‘net/ftp’ 2 require ‘FileUtils’ 3 Dir.chdir(“E:/workflows/graphics/out/ps2k/100dpi”) 4 ArborTextfiles = Dir.glob(“\*.100”) 5 ArborTextfiles.each do |file100| 6 #file100.to\_s 7 ftp = Net::FTP.open(‘[quack.bna.com](http://quack.bna.com)’) do |ftp| 8 ftp.login(‘xxxxx’,‘xxxxx’) 9 ftp.chdir(‘/xxx/graphics/tiff\_100\_dpi’) 10 ftp.putbinaryfile(file100.sub(“.100”,“”)) 11 end 12 end

These are the errors I get:

E:/live/RUBY/lib/ruby/1.8/net/ftp.rb:556:in `initialize': No such file or direct ory - test303 (Errno::ENOENT) from E:/live/RUBY/lib/ruby/1.8/net/ftp.rb:556:in `putbinaryfile’  
from e:/live/scripts/ruby/ftp/ArborTextimages2quack.rb:9  
from E:/live/RUBY/lib/ruby/1.8/net/ftp.rb:115:in `open’  
from e:/live/scripts/ruby/ftp/ArborTextimages2quack.rb:6  
from e:/live/scripts/ruby/ftp/ArborTextimages2quack.rb:5

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 16, 2006, 5:13pm UTC](https://www.ruby-forum.com/t/problems-ftping/63608/2 "2006-06-16T17:13:48Z")

</div>

Peter B. wrote:

> 5 ArborTextfiles.each do |file100|  
> 6 #file100.to\_s  
> 7 ftp = Net::FTP.open(‘[quack.bna.com](http://quack.bna.com)’) do |ftp|  
> 8 ftp.login(‘xxxxx’,‘xxxxx’)  
> 9 ftp.chdir(‘/xxx/graphics/tiff\_100\_dpi’)  
> 10 ftp.putbinaryfile(file100.sub(“.100”,“”))

I think this should read:

ftp.putbinaryfile(file100, file100.sub(“.100”,“”))

You could also do this:

ftp.putbinaryfile(file100, File.basename(file100, “.\*”))

Jamey

Confidentiality Notice: This email message, including any attachments,  
is for the sole use of the intended recipient(s) and may contain  
confidential and/or privileged information. If you are not the intended  
recipient(s), you are hereby notified that any dissemination,  
unauthorized review, use, disclosure or distribution of this email and  
any materials contained in any attachments is prohibited. If you receive  
this message in error, or are not the intended recipient(s), please  
immediately notify the sender by email and destroy all copies of the  
original message, including attachments.

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 16, 2006, 5:41pm UTC](https://www.ruby-forum.com/t/problems-ftping/63608/3 "2006-06-16T17:41:21Z")

</div>

Jamey C. wrote:

> Peter B. wrote:
> 
> > 5 ArborTextfiles.each do |file100|  
> > 6 #file100.to\_s  
> > 7 ftp = Net::FTP.open(‘[quack.bna.com](http://quack.bna.com)’) do |ftp|  
> > 8 ftp.login(‘xxxxx’,‘xxxxx’)  
> > 9 ftp.chdir(‘/xxx/graphics/tiff\_100\_dpi’)  
> > 10 ftp.putbinaryfile(file100.sub(“.100”,“”))
> 
> I think this should read:
> 
> ftp.putbinaryfile(file100, file100.sub(“.100”,“”))
> 
> You could also do this:
> 
> ftp.putbinaryfile(file100, File.basename(file100, “.\*”))
> 
> Jamey
> 
> Confidentiality Notice: This email message, including any attachments,  
> is for the sole use of the intended recipient(s) and may contain  
> confidential and/or privileged information. If you are not the intended  
> recipient(s), you are hereby notified that any dissemination,  
> unauthorized review, use, disclosure or distribution of this email and  
> any materials contained in any attachments is prohibited. If you receive  
> this message in error, or are not the intended recipient(s), please  
> immediately notify the sender by email and destroy all copies of the  
> original message, including attachments.

Thanks a lot, Jamey. I used the latter. Now, what if I want to remove  
the file after I’ve ftp’d it? The variable “file100” wouldn’t apply  
anymore, so, could I do a FileUtils.rm with the same File.basename  
string as the ftp?

Thanks.

---

<div class="post-metadata">

**Author:** ![bodikp](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/e79b87/32.png) [@bodikp](https://www.ruby-forum.com/u/bodikp)\
**Post date:** [June 16, 2006, 5:52pm UTC](https://www.ruby-forum.com/t/problems-ftping/63608/4 "2006-06-16T17:52:09Z")

</div>

Jamey C. wrote:

> Peter B. wrote:
> 
> > 5 ArborTextfiles.each do |file100|  
> > 6 #file100.to\_s  
> > 7 ftp = Net::FTP.open(‘[quack.bna.com](http://quack.bna.com)’) do |ftp|  
> > 8 ftp.login(‘xxxxx’,‘xxxxx’)  
> > 9 ftp.chdir(‘/xxx/graphics/tiff\_100\_dpi’)  
> > 10 ftp.putbinaryfile(file100.sub(“.100”,“”))
> 
> I think this should read:
> 
> ftp.putbinaryfile(file100, file100.sub(“.100”,“”))
> 
> You could also do this:
> 
> ftp.putbinaryfile(file100, File.basename(file100, “.\*”))
> 
> Jamey
> 
> Confidentiality Notice: This email message, including any attachments,  
> is for the sole use of the intended recipient(s) and may contain  
> confidential and/or privileged information. If you are not the intended  
> recipient(s), you are hereby notified that any dissemination,  
> unauthorized review, use, disclosure or distribution of this email and  
> any materials contained in any attachments is prohibited. If you receive  
> this message in error, or are not the intended recipient(s), please  
> immediately notify the sender by email and destroy all copies of the  
> original message, including attachments.

Uh, I figured it out. Thanks, Jamey. I realized that “file100” was still  
perfectly valid for the original filenames, so, I didn’t need anything  
fancy.

-Peter
