我已经为KeystoneJS的AdminUI编写了一个自定义字段,它使用了TinyMCE的编辑器。
KeystoneJS在下面运行Apollo GraphQL服务器,并根据CMS模式自动生成变化和查询。TinyMCE具有输入自定义挂钩以上载图像的功能。
我希望能够连接这两个——使用GraphQL将图像从TinyMCE上传到KeystoneJS的服务器。
例如,在我的设置中,我在CMS中有一个Image
字段。KeystoneJS有一个GraphQL突变,允许我上传图像
createImage(data: ImageCreateInput): Image
其中imageCreateInput
为
type ImageCreateInput {file: Upload}
本教程解释了如何将图像从Apollo客户端上传到Apollo服务器(KeystoneJS正在运行)。
const UPLOAD_MUTATION = gql`
mutation submit($file: Upload!) {
submitAFile(file: $file) {
filename
mimetype
filesize
}
}
`;
return (
<form>
<Mutation mutation={UPLOAD_MUTATION} update={mutationComplete}>
{mutation => (
<input
type="file"
onChange={e => {
const [file] = e.target.files;
mutation({
variables: {
file
}
});
}}
/>
)}
</Mutation>
</form>
);
对于如何将其集成到TinyMCE中,我有点困惑,特别是因为该示例基于使用表单,TinyMCE将以Base64编码的数据发送给我。
TinyMCE为我提供了指定自定义上载处理程序的机会:
tinymce.init({
selector: 'textarea', // change this value according to your HTML
images_upload_handler: function (blobInfo, success, failure) {
var xhr, formData;
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open('POST', 'postAcceptor.php');
xhr.onload = function() {
var json;
if (xhr.status != 200) {
failure('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.location != 'string') {
failure('Invalid JSON: ' + xhr.responseText);
return;
}
success(json.location);
};
formData = new FormData();
formData.append('file', blobInfo.blob(), blobInfo.filename());
xhr.send(formData);
}
});
TinyMCE似乎为我提供了一个blob,而据我所知,Apollo客户端需要一个文件名。我是否只使用blobInfo。文件名
?有没有更好的方法将TinyMCE图像上传到GraphQL Apollo服务器?
我以前从未用TinyMCE上传过任何图像。
我也从来没有用过这个...但是我会试着用file_picker_callback。
在这个演示中,您可以看到文件[0]
-我很确定您可以在这里插入一个带有文件
作为参数的上传变异调用。结果(url)传递到cb()
(如示例所示)。
也可以按照此答案调整配置
问题内容: 我想随请求一起发送图像作为参数。我使用下面的代码调用POST请求,但是我不知道如何将图像追加到正文中。 我通过图像选择器获取图像,如下所示: 我的要求如下 我是Swift的新手。我已经通过multipart / form-data看到了这一点,但无法自己实现。我不想将其编码为基本64格式。请帮助我。 问题答案: 我使用以下结构发送图像: 然后在函数中创建如下主体:
问题内容: 如何从iPhone上的图片库以JSON格式将图片上传到服务器?我尝试了以下方法: 问题答案: 如果要以字符串形式上传图像,则必须将图像数据转换为Base64,然后可以使用上述方法: 要转换为base64字符串,请参阅此答案。然后,您可以使用您的代码进行上传。 其他方式 您可以像这样直接上传图片:
问题内容: 我将图片上传到服务器的代码是: 将图像上传到服务器工作正常。.我需要同时将mp3文件和图像上传到服务器。.请帮助 问题答案: 因此,您要在一个HTTP请求中发送多个文件?我从来没有亲自做过,但是根据RFC,只需在发送音频的消息中添加另一个正文,它应该看起来像这样: 确保两个部分的名称不同(取决于服务器软件)。
问题内容: 我需要即时将画布图像数据上传到服务器(数据库),即,我需要创建一个带有input=file的表单,并在没有任何用户交互的情况下发布图像数据。 问题答案: 您不需要文件输入,只需使用Ajax 获取数据并将其发布到服务器即可。 请参阅MDN文档。 但是即使使用,您也无法在IE中获取图像数据。
但我的观点是,我是靠自己学习的,如果没有解释,初学者很难理解,所以我所要求的只是一个解释,对整个过程的详细解释如果有人很难花时间在这个问题上,因为信不信由你,我发现这是到目前为止最难的话题,因为主要原因是没有关于整个过程的教程,也没有对初学者的解释,如果有人现在能解释概念,对明天将要学习的学生来说会更容易。因此,任何人谁可以解释这详细和如何上传过程的工作和一些步骤,以供参考,将非常感谢。 注意:假
问题内容: 我正在尝试从Android设备将文件上传到php服务器。有相同问题的话题,但他使用的是不同的方法。我的Android辅助代码运行正常,并且未显示任何错误消息,但服务器未收到任何文件。这是我的示例代码,我在网上找到了。 和我的PHP服务器端代码如下 Apache正在运行。当我运行服务器时,出现此错误消息。上传文件时出错,请重试!我已经在eclipse中检查了日志数据,我认为是套接字问题,