У меня есть устройство, которое имеет этот яваскрипт функцию на его веб-интерфейс:Преобразование яваскрипта Http Загрузить скрипт Завить команду
function upload() {
$("#progress").empty();
$("#uploadresult").empty();
// take the file from the input
var file = document.getElementById('files').files[0];
var reader = new FileReader();
reader.readAsBinaryString(file); // alternatively you can use readAsDataURL
reader.onloadend = function(evt)
{
// create XHR instance
xhr = new XMLHttpRequest();
// send the file through POST
xhr.open("POST", 'upload', true);
xhr.setRequestHeader('X-Filename', file.name);
// make sure we have the sendAsBinary method on all browsers
XMLHttpRequest.prototype.mySendAsBinary = function(text){
var data = new ArrayBuffer(text.length);
var ui8a = new Uint8Array(data, 0);
for (var i = 0; i < text.length; i++) ui8a[i] = (text.charCodeAt(i) & 0xff);
if(typeof window.Blob == "function")
{
var blob = new Blob([data]);
}else{
var bb = new (window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder)();
bb.append(data);
var blob = bb.getBlob();
}
this.send(blob);
}
// let's track upload progress
var eventSource = xhr.upload || xhr;
eventSource.addEventListener("progress", function(e) {
// get percentage of how much of the current file has been sent
var position = e.position || e.loaded;
var total = e.totalSize || e.total;
var percentage = Math.round((position/total)*100);
// here you should write your own code how you wish to proces this
$("#progress").empty().append('uploaded ' + percentage + '%');
});
// state change observer - we need to know when and if the file was successfully uploaded
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4)
{
if(xhr.status == 200)
{
// process success
$("#uploadresult").empty().append('Uploaded Ok');
}else{
// process error
$("#uploadresult").empty().append('Uploaded Failed');
}
}
};
// start sending
xhr.mySendAsBinary(evt.target.result);
};
}
мне кажется, как он использует POST для загрузки файлов, и я пытаюсь загрузить файлы с ним, используя командную строку CURL, и он продолжает терпеть неудачу, вот эта команда, которую я использую: curl -F «[email protected]» myipaddress/upload
и это дает мне: FAILED (это поступающие с сервера)
В чем дело ?!
дорогой друг, то есть javascript. – RutledgePaulV
хорошо ?! Я знаю, что это java, я сказал это в первой строке. Но я хочу сделать то же самое, что этот скрипт делает с CURL (мне не нужен весь процент прогресса и другое дерьмо, которое находится в коде). Я просто знаю, что этот код работает для загрузки на сервер, и именно поэтому я Поместите его здесь – mahanb
JavaScript и Java - это совершенно разные вещи. – RutledgePaulV