【问题标题】:Send Image and table of string发送图像和字符串表
【发布时间】:2019-05-27 09:22:55
【问题描述】:

创建帖子时,用户还可以上传图片。所有数据都通过使用 Django REST 框架构建的 REST API 发送到数据库。

我在图片中收到此错误 提交的数据不是文件。检查表单上的编码类型。

服务

addPosts(title: string, content: string, image: File, category: string, tags: string[]){
   let url = 'api/posts/post/';
   const formData = new FormData();

   formData.append("title", title);
   formData.append("content", content);
   formData.append("category", category);
   formData.append("tags", tags);
   formData.append("image", image);

   const post: Post = {title:title, content:content, image: image, category:category, tags:tags};

   let headers = new Headers({ 'Content-Type': 'multipart/form-data' });
   let options = new RequestOptions({ headers: headers });

   this.http.post(url, post, options)
   .subscribe(responseData => {
     this.posts.push(post);
     this.postsUpdate.next([...this.posts]);
   });
 }

当我使用 FormData 时,我无法发送标签,因为我认为 FormData 不支持它,当我直接发送帖子时,我得到了 提交的数据不是文件。检查表单上的编码类型。

【问题讨论】:

  • 你能不能显示错误

标签: angular


【解决方案1】:
addPosts(title: string, content: string, image: File, category: string, tags: string[]){
   let url = 'api/posts/post/';
   const formData = new FormData();

   formData.append("title", title);
   formData.append("content", content);
   formData.append("category", category);
   formData.append("tags", tags);
   formData.append("image", image);

   const post: Post = {title:title, content:content, image: image, category:category, tags:tags};<------you set This

   let headers = new Headers({ 'Content-Type': 'multipart/form-data' });
   let options = new RequestOptions({ headers: headers });

设置表单数据

  this.http.post(url, post, options)<-----set Form Data instead of ` const post: Post`
   .subscribe(responseData => {
     this.posts.push(post);
     this.postsUpdate.next([...this.posts]);
   });
 }

【讨论】:

  • formData.append("tags", tags);在这一行中 formData 不接受字符串表
  • 标签是什么意思?是
  • formData 不接受标签:string[] 它只接受输入字符串
  • 标签不是字符串吗?
  • 是字符串表
猜你喜欢
  • 1970-01-01
  • 2020-06-24
  • 1970-01-01
  • 2013-05-16
  • 2017-08-05
  • 1970-01-01
  • 2019-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多