我正在尝试让Firebase存储与Imgix或Cloudinary等映像服务一起使用.但是,Firebase提供的下载URL似乎不适用于这些服务.
例如:Cloudinary说你可以像这样获取图像:
http://res.cloudinary.com/demo/image/fetch/ http://upload.wikimedia.org/wikipedia/commons/0/0c/Scarlett_Johansson_C%C3%A9sars_2014.jpg
但是,我的下载URL看起来更像是这样的:
我在上面的url中更改了一些字符,所以它不起作用,因为我不想要来自Stackoverflow的大量请求.:)
有什么我能做的不同吗?我可以直接向Storage Bucket提出请求吗?
我有RoR项目,住在heroku.我有booty(带图像上传功能的编辑器),我有cloudinary.我已经设置了uploader,cloudinary api密钥和初始化程序(如果需要,可以显示).现在,当我尝试在bootsy上传图像时 - 它会创建数据库行,并在cloudinary中创建图像.但是在js窗口从靴子,有空<img>
ruby '2.3.1'
gem 'rails', '~> 5.1.1'
gem 'bootsy'
gem 'carrierwave'
gem 'fog'
gem 'cloudinary', '~> 1.8.1'
Run Code Online (Sandbox Code Playgroud)
1)uploaders/bootsy/image_uploader.rb
module Bootsy
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
# storage Bootsy.storage
include Cloudinary::CarrierWave
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :large do
process :eager => true
process resize_to_fit: [
700, 700
]
end
version :medium do
process :eager => true
process resize_to_fit: [
300, 300
]
end
version :small do
process :eager => true
process resize_to_fit: [
150, 150
] …Run Code Online (Sandbox Code Playgroud) 初学者的问题在这里.
我正在尝试将照片从网页直接上传到cloudinary.
这是Cloudinary建议使用的jQuery插件.
不幸的是,该插件尚未记录,并且没有明确的"example.html"文件.我试图了解插件代码,但到目前为止没有成功.
对于"example.html"应该是什么样的,有人能指出我正确的方向吗?
谢谢.
使用cloudinary API我可以通过GET以下URL 获取图像列表:
https://API_KEY:API_SECRET@api.cloudinary.com/v1_1/CLOUD_NAME/resources/image/upload
Run Code Online (Sandbox Code Playgroud)
但是,从客户端JavaScript使用此方法会暴露我的帐户的API密钥和密钥.
似乎可以在不暴露我的帐户凭据的情况下获取图像列表.
我查看了Cloudinary AngularJS客户端,它有一个示例项目,可以在帐户中实现照片的幻灯片放映.据我所知,这个项目使用以下行来获取cloudinary帐户中的照片列表
var url = $.cloudinary.url('myphotoalbum', {format: 'json', type: 'list'});
Run Code Online (Sandbox Code Playgroud)
但我不能接到这个电话来回报任何东西.
该cloudinary jQuery的文档不描述语法$.cloudinary.url(); 我发现的唯一资源是Cloudinary JQuery Github Page,它说明了这一点
$.cloudinary.url(public_id, options) // Returns a cloudinary URL based on your on your configuration and the given options.
Run Code Online (Sandbox Code Playgroud)
什么是public_id?有什么options?
我想拍摄一张照片并直接上传到Cloudinary.如何知道要在upload语句中设置它的图片的名称cloudinary.uploader().upload("nameofthepic", Cloudinary.emptyMap());.
这是我的代码:
public class Camera extends ActionBarActivity implements View.OnClickListener {
Button b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.camera);
b= (Button) findViewById(R.id.button);
b.setOnClickListener(this);
}
public static final int TAKE_PHOTO_REQUEST = 0;
@Override
public void onClick(View v) {
Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePhotoIntent, TAKE_PHOTO_REQUEST);
Map config = new HashMap();
config.put("cloud_name", "dkepfkeuu");
config.put("api_key", "552563677649679");
config.put("api_secret", "7n8wJ42Hr_6nqZ4aOMDXjTIZ4P0");
Cloudinary cloudinary = new Cloudinary(config);
try {
cloudinary.uploader().upload("", Cloudinary.emptyMap());
} catch (IOException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想将图像上传到 Cloudinary,使用 cordova 相机插件直接从 Ionic 中的相机拍摄。我收到代码 1 的错误,并显示消息“上传预设必须位于未签名上传的白名单中”。如何解决这个错误。请帮忙。
我编辑的js代码是:
$scope.cameraopen = function(){
var options = {
quality : 100,
destinationType : Camera.DestinationType.FILE_URI,//FILE_URI
sourceType : Camera.PictureSourceType.CAMERA,
allowEdit : false,
encodingType: Camera.EncodingType.JPEG,
popoverOptions: CameraPopoverOptions,
targetWidth: 500,
targetHeight: 500,
saveToPhotoAlbum: true
};
$cordovaCamera.getPicture(options).then(function(imageData) {
var Uploadoptions = {
upload_preset: cloudinary.config().upload_preset,
tags: 'mytag',
context: 'photo=photo',
file: imageData
};
var onUploadSuccess = function(data){
console.log("success"+JSON.stringify(data));
}
var onUploadFail = function(e){
console.log("error"+JSON.stringify(e));
}
var ft = new FileTransfer();
ft.upload(imageData, "http://api.cloudinary.com/v1_1/" + cloudinary.config().cloud_name + "/upload", onUploadSuccess, onUploadFail, Uploadoptions, …Run Code Online (Sandbox Code Playgroud) 我正试图在Meteor 1.3测试版中设置cloudinary,我现在正在寻找NPM软件包.我遇到了一个更大的问题,其中一个软件包库中有一个声明 crypto = require('crypto');很好.我刚刚通过npm安装了加密包.但客户仍然给我错误Uncaught Error: Cannot find module 'crypto'.… 有什么建议?
注意,两个模块都在同一个node_modules目录中:
node_modules
crypto
material-ui
react
react-cloudinary
react-dom
react-mounter
react-tap-event-plugin
Run Code Online (Sandbox Code Playgroud)
这是一个Meteor 1.3问题,因为我正在导入npm库
我在前端使用react和react-router,使用node+express作为后端,使用cloudinary来存储我的图像文件。
我遇到的问题是 cloudinary api 方法似乎无法打开/解析存储图像的数据 blob
{ images: { preview: 'blob:http://localhost:8080/19526dcc-b67d-4697-b112-e5480de61d03' } }
cloudinary.v2.uploader.upload(body.images.preview, function(result) {
console.log(result)
})
Run Code Online (Sandbox Code Playgroud)
错误响应:
{ Error: ENOENT: no such file or directory, open 'blob:http://localhost:8080/e7f30c71-7e06-4c36-801f-49666e9df053'
at Error (native)
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 'blob:http://localhost:8080/e7f30c71-7e06-4c36-801f-49666e9df053'
}
Run Code Online (Sandbox Code Playgroud)
不确定这是否是由于反应路由器导致的问题,或者我应该将数据转换为不同的格式?
路线如下:
app.use('/api/', posts);
app.use('/api/', users);
app.use(express.static(staticPath));
app.use('/', express.static(staticPath));
app.use('/posts/*', express.static(staticPath));
app.use('/new/*', express.static(staticPath));
app.use('/validateEmail/*', express.static(staticPath));
Run Code Online (Sandbox Code Playgroud) 我正在尝试基于此 codepen 示例构建一个简单的 Cloudinary 图像上传: https: //codepen.io/team/Cloudinary/pen/QgpyOK --
我已将其转换为可使用的fetch,但即使我已转到 Cloudinary 设置并创建了一个未签名的上传预设(我将其提供给标头),我仍然收到错误
POST https://api.cloudinary.com/v1_1/myproject/upload 400 (Bad Request)
与错误消息
Upload preset must be specified when using unsigned upload
我正在使用的代码如下
_callCloudinaryApi(file, method = 'post') {
const config = {
method
}
const cloudName = "myproject" // fictional project name here
const unsignedUploadPreset = "mypreset" // fictional preset name here
const url = `https://api.cloudinary.com/v1_1/${cloudName}/upload`;
const fd = new FormData();
fd.append('upload_preset', unsignedUploadPreset);
fd.append('tags', 'browser_upload'); // Optional - add tag for image admin in …Run Code Online (Sandbox Code Playgroud) 尝试上传图片时出现此错误“需要实现 #cache!如果您想使用 Cloudinary::CarrierWave::Storage 作为缓存存储。” 它在我的控制器中突出显示了这部分代码:
def update
@company.update(company_params)
redirect_to company_path(@company)
end
Run Code Online (Sandbox Code Playgroud)
我正在使用 Carrierwave 将照片上传到 cloudinary。我有一个包含我的配置的 cloudinary.yml 文件,以及我的初始值设定项中有一个 cloudinary.rb 文件。
identitylogo_uploader.rb
class IdentitylogoUploader < CarrierWave::Uploader::Base
include Cloudinary::CarrierWave
process :convert => 'png'
process :tags => ['logo_entreprise']
version :standard do
process :resize_to_fill => [150, 150, :north]
end
version :thumbnail do
resize_to_fit(50, 50)
end
def public_id
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
end
Run Code Online (Sandbox Code Playgroud)
公司.rb
class Company < ApplicationRecord
mount_uploader :identitylogo, IdentitylogoUploader
end
Run Code Online (Sandbox Code Playgroud)
company_controller.erb
def update
@company.update(company_params)
redirect_to company_path(@company)
end
def company_params
params.require(:company).permit(:identitylogo, :name, :industry,
:employees, :website)
end
Run Code Online (Sandbox Code Playgroud)
_form.erb …
cloudinary ×10
javascript ×2
node.js ×2
android ×1
blob ×1
camera ×1
carrierwave ×1
express ×1
fetch-api ×1
firebase ×1
heroku ×1
meteor ×1
ngcordova ×1
npm ×1
react-router ×1
reactjs ×1