我试图在不实际使用用户输入文件的情况下伪造文件上传。文件的内容将从字符串动态生成。
这可能吗?有人做过吗?有例子/理论可用吗?
澄清一下,我知道如何使用隐藏的iframe和朋友使用AJAX技术上传文件-问题是上传的文件格式不正确。
我正在使用ExtJS,但是jQuery也是可行的,因为ExtJS可以插入其中(ext-jquery-base)。
为什么不只XMLHttpRequest()
与POST一起使用?
function beginQuoteFileUnquoteUpload(data)
{
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://www.mysite.com/myuploadhandler.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function ()
{
if (xhr.readyState == 4 && xhr.status == 200)
alert("File uploaded!");
}
xhr.send("filedata="+encodeURIComponent(data));
}
服务器上的处理程序脚本仅将文件数据写入文件。
EDIT
文件上传仍然是具有不同内容类型的http帖子。您可以使用此内容类型,并用边界分隔内容:
function beginQuoteFileUnquoteUpload(data)
{
// Define a boundary, I stole this from IE but you can use any string AFAIK
var boundary = "---------------------------7da24f2e50046";
var xhr = new XMLHttpRequest();
var body = '--' + boundary + '\r\n'
// Parameter name is "file" and local filename is "temp.txt"
+ 'Content-Disposition: form-data; name="file";'
+ 'filename="temp.txt"\r\n'
// Add the file's mime-type
+ 'Content-type: plain/text\r\n\r\n'
+ data + '\r\n'
+ boundary + '--';
xhr.open("POST", "http://www.mysite.com/myuploadhandler.php", true);
xhr.setRequestHeader(
"Content-type", "multipart/form-data; boundary="+boundary
);
xhr.onreadystatechange = function ()
{
if (xhr.readyState == 4 && xhr.status == 200)
alert("File uploaded!");
}
xhr.send(body);
}
如果要发送其他数据,只需在每个部分之间加一个边界,然后描述每个部分的content-disposition和content-
type标头。每个标头由换行符分隔,正文与标头由附加的换行符分隔。自然,以这种方式上传二进制数据会稍微困难一些:-)
进一步编辑:忘记提及,请确保要发送的文本“文件”中没有任何边界字符串,否则它将被视为边界。
问题内容: 我正在尝试使用ajax上传文件,这给了我一个错误,其余的数据上传成功了,我尝试了不使用ajax进行文件上传,但是当我尝试通过ajax上传文件时给了我错误,我完全困惑为什么ajax给我问题。这是我的代码。 process.php文件编码在这里。 问题答案: 首先,serialize()函数不适用于文件,您应该使对象成为可通过其发布数据的表单对象,并且可以完美地工作。因为我已经测试过了 请
问题内容: 我一直在寻找在Selenium 2中上传文件的解决方案。 问题是,我尝试上传的Web元素有两种使用方式:拖放或单击按钮。没有字段输入框。并不是说我没有尝试使用sendKeys。我已经在按钮以及所有周围的元素上进行了尝试。 此问题的第二部分是我在Windows计算机上编写,但是自动化发生在Linux计算机上。这意味着AutoIt不起作用。这是上传框的HTML。 我正在使用Java,并且可
本文向大家介绍javascript HTML5文件上传FileReader API,包括了javascript HTML5文件上传FileReader API的使用技巧和注意事项,需要的朋友参考一下 文件上传功能现在是越来越普遍,所有的社交网站,媒体网站,比如优酷视频,微博等,都提供了上传图片,上传视频等功能。但过去WEB程序员都很清楚,用HTML表单上传文件是很麻烦的事情,特别是你想了解一下用户
上面是代码 现在的问题是 上传多个文件的时候回调用多次接口,比如上传三个文件就回调用三次axios请求 现在需要解决的是 上传多个文件只执行一次axios请求
我想将文件从一台服务器上传到另一台FTP服务器,以下是我的上传文件代码,但它抛出错误为: 远程服务器返回错误:(550)文件不可用(例如,找不到文件,无法访问)。 这是我的代码: 你能告诉我哪里出了问题吗?
问题内容: 问题描述:我想使用JSP创建文件上传屏幕。屏幕将允许用户在屏幕上选择多个文件,但所有文件只有一个“上传”按钮。单击上载按钮后,应在Action类中获取所有文件对象。 但是重要的是页面提交后不应刷新。在同一屏幕上还会显示其他信息,在文件上传过程中不应更改这些信息。 我的尝试:我使用了简单的struts2文件上传功能,效果很好。但是它正在刷新提交页面。我使用AJAX(JQuery)来解决此