javascript - 将文件从 Javascript 上传到 Google Cloud Endpoint

标签 javascript jquery google-app-engine google-cloud-endpoints

我正在创建一个仅使用 HTML5 + Javascript + jQueryMobile 的网络应用程序,我想将文件上传到 使用 Google Cloud Endpoint 的 Google App Engine 网络应用程序,也是我创建的。

当我控制双方时,我可以(并且想要)创建尽可能简单的交互。

至于端点,我想到了创建一个这样的方法:

@ApiMethod(
  name = "uploadFile",
  path = "upload_file",
  httpMethod = HttpMethod.POST
)
public void uploadFile(File file) {
  //process the file
}

这个 File 类可以包含一个类型为 Blob 或 byte[] 或类似的字段 fileData,代表文件数据...类似:

public class File {    
  private String fileName;
  private long fileSize;
  private Blob fileData;    
  //getters and setters
}

所以第一个问题是:这个字段最合适的类型是什么 fileData?

并且,考虑到为该字段选择的类型,我如何从 Javascript/jQuery 为该端点方法创建必要的 POST 请求?

基本上我需要创建一个 POST 请求到 http://myappid.appspot.com/_ah/api/files/v1/upload_file 添加 File 对象POST 数据。

注意:很抱歉我没有尝试任何 Javascript 代码,因为我对这项技术一点都不熟悉,所以我很感激任何帮助...

最佳答案

编辑:下面的答案针对 AppEngine 的 python 版本

这是一个普遍的需求,没有明确的解决方案。到目前为止,gae-init-upload演示了如何使用 AppEngine 和 CoffeeScript 实现这一目标。值得一看,CoffeeScript 正在被编译成 JavaScript,以防您不熟悉。

您正在寻找的 JavaScript 解决方案在

/main/static/src/coffee/common/upload.coffee

关于javascript - 将文件从 Javascript 上传到 Google Cloud Endpoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15879865/

相关文章:

python - 谷歌应用引擎开发服务器(python)上的自动任务执行

google-app-engine - `go run *.go` 中的文件如何在不导入的情况下访问函数?

google-app-engine - 如何在 App Engine 上免费设置 HTTPS? (对于非自定义域)

javascript - 反转 Tween.js 动画的效果

javascript - 如何简化具有多个 div 的切换功能

javascript - 是否可以将 html(例如 bootstrap 图标)放在 DevExpress dxDataGrid 列标题中?

javascript - 检查 Bootstrap Datepicker 脚本是否已加载

javascript - jQuery(userInput) "safe"适合最终用户吗?

javascript - 禁用 YouTube 的迷你播放器功能的下拉功能

javascript - 是否可以模拟 qUnit 测试的 window.location 对象?