Javascript Qml上载文件(路径)

Javascript Qml上载文件(路径),javascript,upload,qml,Javascript,Upload,Qml,我有一个纯qml应用程序,我想用xmlhttprequest和qml的javascript实现上传一个文件(图像)。我有一个文件选择器,在那里我以字符串的形式获取路径,但是我现在如何才能正确上传文件 function upload ( path, callback ) { // Send the file to the server var requestUrl = "https://matrix.org/_matrix/media/r0/upload"

我有一个纯qml应用程序,我想用xmlhttprequest和qml的javascript实现上传一个文件(图像)。我有一个文件选择器,在那里我以字符串的形式获取路径,但是我现在如何才能正确上传文件

function upload ( path, callback ) {

        // Send the file to the server
        var requestUrl = "https://matrix.org/_matrix/media/r0/upload"
        var http = new XMLHttpRequest();
        http.open( "POST", requestUrl, true);
        http.setRequestHeader('Authorization', 'Bearer ' + token);
        http.onreadystatechange = function() {
            if ( http.readyState === XMLHttpRequest.DONE ) {
                callback ( JSON.parse(http.responseText) )
            }
        }

        // This does not work :-(
        http.send ( path )
}

请看下面的帮助(mozilla):

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest
使用此选项检查是否在服务器端(PHP)中发送任何数据(Mozilla示例)

这是基于PHP的信息来澄清答案的程序,只是这个例子当然不是Qml代码

QML不同于PHPqml是javascript我知道,我说你如何检查你的脚本,如果你需要检查你发送给我的内容,我可以在我们的一个服务器上提供php,用于你对这个案例的特定测试。您还可以在nodejs中实现响应来检查您的问题。。。你是目的地服务吗?对不起,我的西班牙语英语更好。我觉得你不明白这个问题。asker有一个用QML编写的桌面应用程序,您希望将文件发送到外部服务器,可以理解,服务器部分并不依赖于它。他想编写一个连接到服务器并将文件发送到服务器的客户端。这里的
path
是什么?我有一个文件选择器,在那里我将路径作为字符串获取。我想用纯QML发送文件是不可能的。由于安全限制,QML无法直接访问文件系统。另外,
XMLHttpRequest
子系统不支持
FormData
。恐怕唯一的方法就是使用C++扩展。
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

Use this to check if You send any data in server side (PHP) (Mozilla  Example)

<?php
/* register.php */
header("Content-type: text/plain");
/*
NOTE: You should never use `print_r()` in production scripts, or
otherwise output client-submitted data without sanitizing it first.
Failing to sanitize can lead to cross-site scripting vulnerabilities.
*/
echo ":: data received via GET ::\n\n";
print_r($_GET);
echo "\n\n:: Data received via POST ::\n\n";
print_r($_POST);
echo "\n\n:: Data received as \"raw\" (text/plain encoding) ::\n\n";
if (isset($HTTP_RAW_POST_DATA)) { echo $HTTP_RAW_POST_DATA; }
echo "\n\n:: Files received ::\n\n";
print_r($_FILES);
?>