使用html5 / ajax / javascript上传/ POST文件而不使用表单和<input type =“file”/>

时间:2013-10-04 17:49:06

标签: javascript ajax html5 post tizen

我需要在不使用表单甚至标记的情况下将文件上传到服务器。

原因是因为我正在开发移动设备的网络应用程序,文件部分是通过集成的图库应用程序完成的。它只返回设备文件系统中图片的路径。

我认为这可以通过读取文件内容,将其放入blob并使用FormData对象来完成?类似的东西:

var oMyForm = new FormData();

oMyForm.append("id", "foo");
oMyForm.append("user", "bar");

var oFileBody = someFileReadingFunction("/path/to/picture"); // I think this should be some custom javascript call specific from the device.
var oBlob = new Blob([oFileBody], { type: "image/jpg"});

oMyForm.append("mypicture", oBlob);

var oReq = new XMLHttpRequest();
oReq.open("POST", "http://foo.com/submitform.php");
oReq.send(oMyForm);

我是对的还是我正朝错误的方向看?

祝你好运

1 个答案:

答案 0 :(得分:0)

对于从设备存储中读取图片的部分,您可能需要在Tizen Native代码中执行此操作。你可以在这里阅读Tizen Web和Tizen Native之间的沟通:

Calling Native from Web

Calling Web from native

有一些示例可以帮助您了解如何以两种方式处理此通信。