我使用 jquery mobile 和 PhoneGap。
我有几个图像文件,我想在一个目录中发送到服务器
我的照片存储在我的手机上
FileTransfer是一个允许您将文件上传到服务器或从服务器下载文件的对象,它包含在Apache Cordova API 参考中。在我看来,使用 FileTransfer 对象是将文件上传到远程服务器的正确方法。
如果您检查 Apache Cordova jar 中 FileTransfer 类的实现,您将看到上传方法的签名是:
/**
* Uploads the specified file to the server URL provided using an HTTP multipart request.
* @param source Full path of the file on the file system
* @param target URL of the server to receive the file
* @param args JSON Array of args
* @param callbackContext callback id for optional progress reports
*
* args[2] fileKey Name of file request parameter
* args[3] fileName File name to be used on server
* args[4] mimeType Describes file content type
* args[5] params key:value pairs of user-defined parameters
* @return FileUploadResult containing result of upload request
*/
private void upload(final String source, final String target, JSONArray args, CallbackContext callbackContext) throws JSONException {
这意味着该方法期望接收作为它的第一个参数,单个源字符串(表示文件系统上文件的完整路径)而不是字符串数组。
因此,如果您选择继续使用 FileTransfer 选项,则多个 FileTransfer 上传调用可能是不可避免的。
使用您喜欢的技术创建 Web 服务,授予服务器上的写入权限,然后让您的 PhoneGap 应用程序将每个图像文件的图像字节连同文件名和所有者等元数据一起发送到服务器。