我可以使用以下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)
如果可能,我是否需要填写"数据"部分?这是正确的方法吗?我只将文件发布到服务器端.
我一直在谷歌搜索,但我发现是一个插件,而在我的计划中,我不想使用它.至少目前.
我想问一个关于这个的问题multipart/form-data.在HTTP标头中,我发现了Content-Type: multipart/form-data; boundary=???.
是???免费的用户定义?或者它通常来自HTML?我可以定义??? = abcdefg吗?
无法使用XMLHttpRequest获取数据(状态0和responseText为空):
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","http://www.w3schools.com/XML/cd_catalog.xml", true);
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
alert("status " + xmlhttp.status);
}
xmlhttp.send();
它警告"状态0".
与localhost请求相同的情况(cd_catalog.xml保存为本地文件)
xmlhttp.open("GET","http://localhost/cd_catalog.xml", true);
但是使用localhost IP请求
xmlhttp.open("GET","http://127.0.0.1/cd_catalog.xml", true);
并使用本地文件请求
xmlhttp.open("GET","cd_catalog.xml", true);
一切都好(状态200)
什么可以导致问题(状态= 0)与在线请求?
PS:Live HTTP Headers显示在所有4种情况下一切正常:
HTTP/1.1 200 OK Content-Length: 4742
PS2:VMWare上的Apache本地Web服务器(主机OS Win7,Guest OS Ubuntu,网络适配器 - NAT).浏览器 - Firefox.
TL; DR;
有没有办法在上传之前直接在浏览器端压缩图像(主要是jpeg,png和gif)?我很确定JavaScript可以做到这一点,但我找不到实现它的方法.
这是我想要实现的完整场景:
input type="file"元素选择图像,直到最后一步的完整过程应该在客户端完成,并且应该与最新的Chrome和Firefox,Safari 5+和IE 8+兼容.如果可能,只应使用JavaScript(但我很确定这是不可能的).
我现在没有编码任何东西,但我已经考虑过了.可以通过File API在本地读取文件,可以使用Canvas元素完成图像预览和编辑,但是我找不到一种方法来执行图像压缩部分.
根据html5please.com和caniuse.com,支持这些浏览器非常困难(感谢IE),但可以使用FlashFanvas和FileReader之类的polyfill来完成.
实际上,目标是减小文件大小,因此我将图像压缩视为一种解决方案.但是,我知道上传的图像将在我的网站上显示,每次都在同一个地方,我知道这个显示区域的尺寸(例如200x400).因此,我可以调整图像大小以适应这些尺寸,从而减小文件大小.我不知道这种技术的压缩率是多少.
你怎么看 ?你有什么建议告诉我吗?你知道在JavaScript中压缩浏览器图像的方法吗?谢谢你的回复.
也许我误解了如何捕捉错误async/await应该来自像这样的文章https://jakearchibald.com/2014/es7-async-functions/和这个http://pouchdb.com/2015/03/05/taming- the-async-beast-with-es7.html,但是我的catch块没有捕获400/500.
async () => {
let response
try {
let response = await fetch('not-a-real-url')
}
catch (err) {
// not jumping in here.
console.log(err)
}
}()
Run Code Online (Sandbox Code Playgroud)
我正计划上传异步文件.那就是应该将文件上传到jsp或servlet并将内容返回到html/jsp页面而不重新加载原始页面.它应该像AJAX调用一样发生.有没有办法用AJAX或任何其他方式来做到这一点.
JavaScript中用于进行文件上传控制的任何替代方法?
实际问题是,我正在使用htmlwriter动态创建文件上传控件,当我使用时request.form[fileuplodctrl].tostring(),我只得到文件名而不是路径...
可以任何人建议我任何其他方式来获得完整的文件路径:)
是否有可能在没有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上传文件?
我正在创建发送邮件的邮件页面.我需要在发送之前附加一些文件.我怎么能用AJAX做到这一点?最初我需要将这些文件存储在服务器中然后我必须发送邮件.这些操作只需一个发送按钮即可完成.
我想用js创建一个上传器。谁能帮助我如何使用javascript上传文件?
<form method="post" action="#" onsubmit="uploadImage">
<input type="file" name="imgFile" >
<input type="submit" id="submit" value="upload">
</form>
Run Code Online (Sandbox Code Playgroud)
如何使用带有ajax调用的javascript上传图像。
javascript ×10
ajax ×5
file-upload ×3
forms ×2
html ×2
upload ×2
async-await ×1
compression ×1
fetch-api ×1
http ×1
image ×1
jquery ×1
jsp ×1
post ×1
struts ×1
try-catch ×1
uploader ×1