locoyuser1 发表于 2008-2-16 02:49:27

想用模拟提交的方法 发布图片 能实现吗?

在一般的资料提交页面中,常常有文本框可以填写本地图片文件的路径和名称;按下“提交保存”按钮后,被指定的本地图片就上传到服务器了。
我尝试用火车头模拟提交,把本地图片的路径和文件名赋给相关的变量。 但是图片发布没有成功。

我研究了一下提交页面的代码(也用到了IP数据截获工具):
<td><input name="subjectimage" type="file" id="subjectimage" size="52"/>
<input name="subjectimage_value" type="hidden" id="subjectimage_value" value="" /></td>

我发现: “subjectimage”就是本体图片的路径和文件名;
而后面的"subjectimage_value"应该就是图片本身的二进制数据。按下“提交发布”按钮以后,浏览器把图片的数据赋给了这个变量。

我的问题是:火车头如何给"subjectimage_value"赋值呢?
请专家帮忙分析一下。

沦陷今生 发表于 2008-2-16 03:02:45

...该怎么赋值就得怎么..
标准格式为
&参数=[标签:标签名]

locoyuser1 发表于 2008-2-16 04:43:59

感谢回复。
我的问题是这样的: 我可以做到给subjectimage赋值图片的路径和文件名。 但是在火车头中,我不知道怎样才能把图片的二进制数据赋给subjectimage_value,这是个hidden变量名。
请参考下这个页面:http://x.discuz.net/action-modelpost-name-movie.html, 其中海报项目是个输入图片文件名的例子。

vus520 发表于 2008-2-16 05:06:49

理论上可行,但是我没有测试过。

fireye 发表于 2008-2-16 08:17:32

估计应该不行

chenshao 发表于 2008-2-16 09:29:28

虽然我不知道怎样搞。
但这个问题比较有意思,回帖关注一下

locoyuser1 发表于 2008-2-16 19:48:29

这个问题的研究又有了一些进展,我比较了一下浏览器和火车头两个上传的数据,发现他们采用的内容类型(Content-Type)不一样,就是说它们采用不同的格式传输数据:
火车头用的是:
Content-Type: application/x-www-form-urlencoded
浏览器用的是:
Content-Type: multipart/form-data; boundary=---------------------------7d83082010766

前者简单,用于传输简单的一些变量参数;
后者不仅传输变量,还可以传输图片文件,例如图片的文件名加上图片本身的数据。

请问火车头专家们,火车头是否也可以使用multipart/form-data类型上传数据呢?
这个实现起来也不麻烦啊。

rq204 发表于 2008-2-18 11:57:52

:lol :lol 这得老大来实现,我对编程之类的不懂
页: [1]
查看完整版本: 想用模拟提交的方法 发布图片 能实现吗?