我想用jQuery异步上传一个文件.这是我的HTML:
<span>File</span>
<input type="file" id="file" name="file" size="10"/>
<input id="uploadbutton" type="button" value="Upload"/>
Run Code Online (Sandbox Code Playgroud)
在这里我的__CODE__代码:
$(document).ready(function () {
$("#uploadbutton").click(function () {
var filename = $("#file").val();
$.ajax({
type: "POST",
url: "addFile.do",
enctype: 'multipart/form-data',
data: {
file: filename
},
success: function () {
alert("Data Uploaded: ");
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
我只获取文件名,而不是上传文件.我该怎么做才能解决这个问题?
我正在使用jQuery Form Plugin上传文件.
我可以使用以下jQuery代码使用Ajax请求的post方法执行文件上载吗?
$.ajax({
type: "POST",
timeout: 50000,
url: url,
data: dataString,
success: function (data) {
alert('success');
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
如果可能,我是否需要填写"数据"部分?这是正确的方法吗?我只将文件发布到服务器端.
我一直在谷歌搜索,但我发现是一个插件,而在我的计划中,我不想使用它.至少目前.
假设我在页面上有这个元素:
<input id="image-file" type="file" />
Run Code Online (Sandbox Code Playgroud)
这将创建一个按钮,允许网页用户通过浏览器中的"文件打开..."对话框选择文件.
假设用户单击所述按钮,在对话框中选择一个文件,然后单击"确定"按钮关闭对话框.
选定的文件名现在存储在:
document.getElementById("image-file").value
Run Code Online (Sandbox Code Playgroud)
现在,假设服务器在URL"/ upload/image"处理多部分POST.
如何将文件发送到"/ upload/image"?
另外,如何收听文件上传完成的通知?
是否有可能在没有jQuery或IFrame的情况下提交AJAX表单(所以只是纯JavaScript)?我正在发送一个有效的struts fileUploadAction.动作的代码是否仍然适用于异步提交,或者是否需要添加异步表单提交?
我正在使用struts 1.x,目前我的表单是:
<html:form action="fileUploadAction" method="post" enctype="multipart/form-data">
...form elements...
<html:file property="theFile" />
...other elements...
</html:form>
Run Code Online (Sandbox Code Playgroud)
是否可以提交此表单,从而使用AJAX上传文件?