0
我已经成功地遵循了Soundcloud的API文档,但遇到了一个让我卡住的错误。从S3存储桶发布音频到Soundcloud?
当使用他们的example上传/发布文件时,我在我的本地机器上硬编码文件时没有任何问题。我真正想要做的是传输存储在S3上的文件。这一直不及Errno :: ENOENT - 没有这样的文件或目录错误。包含Open-URI,我通过对另一台服务器上的公共文件进行硬编码来测试它,但仍然失败。所以我不觉得问题出在S3或我的generate_secure_s3_url上,因为我在其他地方成功使用了我的generate_secure_s3_url。
我的代码如下,任何人都可以帮忙吗?
def product_tracks_to_soundcloud(access_token)
require 'soundcloud'
require 'open-uri'
# create a client object with access token
client = Soundcloud.new(:access_token => access_token)
self.producttracklistings.each do |pt|
filebase = URI.encode(pt.track.track_file_name, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
fileurl = generate_secure_s3_url(filebase)
# upload an audio file
track = client.post('/tracks', :track => {
:title => pt.track.name,
:asset_data => File.new(fileurl, 'rb')
})
end