初学者的问题在这里。

我正在尝试将照片从网页直接上传到cloudinary

Here是Cloudinary建议使用的jQuery插件。

不幸的是,该插件尚未记录,并且没有清晰的“example.html”文件。
我试图弄清楚插件代码,但到目前为止没有成功。

有人可以就“example.html”的外观向我指出正确的方向吗?

谢谢。

最佳答案

从服务器sdk下载Jquery SDK

这是带有Java服务器端的代码:

在服务器端生成签名:

这是java中的JSP代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.sql.Timestamp" %>
<%@ page import="com.cloudinary.Cloudinary" %>
<%
String timestamp=(new Long(System.currentTimeMillis() / 1000L)).toString();
Cloudinary cloudinary = new Cloudinary("cloudinary://CLOUDINARY_URL");
Map<String, Object> params = new HashMap<String, Object>();
Map options = Cloudinary.emptyMap();
boolean returnError = Cloudinary.asBoolean(options.get("return_error"), false);
String apiKey = Cloudinary.asString(options.get("api_key"), cloudinary.getStringConfig("api_key"));
if (apiKey == null)
    throw new IllegalArgumentException("Must supply api_key");
String apiSecret = Cloudinary.asString(options.get("api_secret"), cloudinary.getStringConfig("api_secret"));
if (apiSecret == null)
    throw new IllegalArgumentException("Must supply api_secret");
params.put("callback", "http://www.mcbjam.com/Scripts/vendor/cloudinary/html/cloudinary_cors.html");
params.put("timestamp", timestamp);
String expected_signature = cloudinary.apiSignRequest(params, apiSecret);%>

您可以在Cloudinary信息中心上找到CLOUDINARY_URL。
我使用cloudinary.apiSignRequest方法,该方法包含在服务器cloudinary sdk中。我在回调和时间戳上签名。

HTML和Javascript
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
    <script src="../Scripts/vendor/jquery-1.9.1.min.js"></script>
    <script src="../Scripts/vendor/cloudinary/jquery.ui.widget.js"></script>
    <script src="../Scripts/vendor/cloudinary/jquery.iframe-transport.js"></script>
    <script src="../Scripts/vendor/cloudinary/jquery.fileupload.js"></script>
    <script src="../Scripts/vendor/cloudinary/jquery.cloudinary.js"></script>
</head>
<body>
<script type="text/javascript">
   $.cloudinary.config({"api_key":"YOUR_API_KEY","cloud_name":"YOUR_CLOUD_NAME"});
</script>
<input name="file" type="file" id="uploadinput"
       class="cloudinary-fileupload" data-cloudinary-field="image_upload"
       data-form-data="" ></input>
<script>
var data = { "timestamp":  <%= timestamp %>,
          "callback": "http://YOUR_DOMAIN/cloudinary_cors.html",
          "signature": "<%= expected_signature %>",
          "api_key": "YOUR API KEY" };
$('#uploadinput').attr('data-form-data', JSON.stringify(data));
</script>
</body>
</html>

将cloudinary_cors.html放在您的主机上,然后在html上修改路径。设置您的APIKEY和您的云名称。

和是在Java上计算的元素。 (您可以在php上执行相同操作)。

我在我的网站http://paint.mcbjam.com上使用此代码
您在这里有更多详细信息:http://mcbjam.blogspot.fr/2013/05/integrer-cloudinary-pour-realiser-des.html法文。

关于jquery-plugins - 如何使用Cloudinary jQuery插件直接从页面上传图像?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12019371/

10-13 04:12