发布文本内容,好像它来自“文件”输入

时间:2013-07-02 22:06:51

标签: jquery http post file-upload

如果文本内容真的通过<input type="file" ..

发送,我需要从textarea(实际上是Ace编辑器)获取内容并将其发布到服务器

我必须这样做,因为我正在POST的后端系统期待这种格式;我无法控制这个系统。我只是想发布一个文本blob,好像它来自一个文本文件。

我将使用jQuery.post(..)发送数据,因此我具有提供的所有灵活性,以及​​任何自定义包装功能。

由于

1 个答案:

答案 0 :(得分:1)

足够简单:

一旦文件被发布,您将获得POST_DATA字段作为实际发布数据。 这就是POST_DATA的样子:

-----------------------------278642518110014\r\n
Content-Disposition: form-data; name="usrname"; filename="SuperEngine.ncp"\r\n
Content-Type: application/octet-stream\r\n\r\n
CONTENT

其中:

278642518110014 =时间戳(以毫秒为单位)

name =“usrname” = html表单字段的名称(在您的情况下为文本框)

filename =“SuperEngine.ncp” =文件名称(可以组成!)

CONTENT =文件的原始数据(您案例中的文本框内容)

使用jQuery构建此帖子数据,您的服务器会认为您使用input type = file字段发布了此数据。