Javascript Windows 8 PhoneGap文件传输因文本文件而失败

Javascript Windows 8 PhoneGap文件传输因文本文件而失败,javascript,cordova,windows-store-apps,fiddler,Javascript,Cordova,Windows Store Apps,Fiddler,我试图上传一个文件到服务器,它说它成功了,但它从来没有传输。我现在硬编码了一些值,但代码如下: var options = new FileUploadOptions(); options.fileKey = "file"; options.fileName = "readme.txt"; imageURI = "C:\\Users\\me\\AppData\\Local\\Packages\\MyApp_68mjwy0kbd4mc\\LocalState\\readme.txt" op

我试图上传一个文件到服务器,它说它成功了,但它从来没有传输。我现在硬编码了一些值,但代码如下:

var options = new FileUploadOptions(); 
options.fileKey = "file"; 
options.fileName = "readme.txt"; 
imageURI = "C:\\Users\\me\\AppData\\Local\\Packages\\MyApp_68mjwy0kbd4mc\\LocalState\\readme.txt" 
options.mimeType = "text/plain"; 
options.httpMethod = "POST"; 
options.chunkedMode = false; 
var ft = new FileTransfer(); 

ft.upload(imageURI, encodeURI("http://example.com/upload/upload.php"), fileUploadWin, fileUploadFail, options); 
当我看fiddler时,我看到两个文件名正在设置:

-----------------------------7de36c253902b2 内容配置:表单数据;name=“source”;filename=“readme.txt”;filename=“blob” 内容类型:文本/纯文本


这是一个使用FileWriter编写的UTF-8文本文件。我在磁盘上看到该文件,其中包含我写入的base64字符串。

如果您正在开发windows应用商店应用,请尝试使用此文件而不是filetransfer(phonegap)

使用文件选择器:

function uploadFile() {
var filePicker = new Windows.Storage.Pickers.FileOpenPicker();
filePicker.fileTypeFilter.replaceAll(["*"]);

filePicker.pickSingleFileAsync().then(function (file) {
    if (!file) {
        printLog("No file selected");
        return;
    }

    var upload = new UploadOp();
    var uriString ="";//serverurl
    upload.start(uriString, file);

    // Store the upload operation in the uploadOps array.
    uploadOperations.push(upload);
});
}
使用路径:

 function uploadFile() {
// Asynchronously create the file in the Application Local folder.
    Windows.Storage.ApplicationData.current.localFolder.getFileAsync("readme.txt").done(function (file) {

    var upload = new UploadOp();
    var uriString = document.getElementById("serverAddressField").value;
    upload.start(uriString, file);

    // Store the upload operation in the uploadOps array.
    uploadOperations.push(upload);
});

}

我想继续使用PhoneGap的API。这使用WinJS,在其他平台上不起作用。另外,您忘了。(完成)关于文件的异步调用。无论哪种方式,我都在看PhoneGap实现。Fiddler看到的服务器响应是什么?在Fiddler中看到的引号是否真的像那样混乱?或者在这里发布时是否键入了错误?这是Fiddler的复制和粘贴。这实际上是cordova/PhoneGap中的一个错误。我很可能会这样做提交请求,然后更新我的答案。