在页面create.php
的“创建新帖子”部分中,用户有两个选项:
1)使用电脑上的input[type="file"
上传图片。
2)选择附加到模因生成器插件的图像,以此方式检索完成的画布图像.... canvas.toDataUrl()
问题
在第二个选项中,一旦完成模因,我想将其附加到第一个选项的input file
以将其与帖子一起上传。
我该怎么做?
HTML
<textarea id="comment"></textarea>
<input type="file" id="imgtoUpload" />
<canvas id="meme"></canvas>
JS
canvas.toDataUrl();// meme to attach
答案 0 :(得分:1)
你没有。
<input type="file">
专门针对来自计算机的文件,将在发布时间后解决。如果从其他地方获取数据,比如canvas.toDataURL(),则添加<input type="hidden" name="fromcanvas">
并使用第二个选项使用toDataURL的结果填充该输入。当用户单击文件输入时,擦除隐藏字段,如果他们使用模因生成器,则擦除文件输入字段,这样就不会在两者中都有数据。
然后在发布表单时,请为两个字段检查提交的formdata检查:如果有与您的<input type="file">
关联的文件输入,请使用该表单,如果有相关数据使用隐藏的输入,请改用它。
(当然,要确保你真正得到的是图像数据,而不是.php
文件。后门PHP服务器的最常见方法是盲目欺骗图像上传脚本将文件写入磁盘,该磁盘在图像输入中作为表单数据发送。在实际将其输入磁盘之前尝试通过gd
或imagemagick
或其他东西运行验证输入!)