如何在 javascript 中使用表单数据上传大型 JSON 对象?

     2023-03-11     81

关键词:

【中文标题】如何在 javascript 中使用表单数据上传大型 JSON 对象?【英文标题】:How upload large JSON object in javascript with form data? 【发布时间】:2016-03-02 05:23:40 【问题描述】:

我正在尝试上传一个非常大的对象,其中包含多个数组,其中包含更多数组。我尝试使用 FormData 上传,但上传是作为字符串接收的,如下所示:

上传代码:

formData.append('large_json', largObj); 

在服务器上收到:

 "bob" : "[[Object object], [Object object]]" 

字符串可能有 1500 万个字符长。我有哪些选择可以将它发送到服务器?

如果有帮助,我正在运行快速服务器。

【问题讨论】:

您查看过npmjs.com/package/multer 吗?对于客户端,类似这样:resumablejs.com 什么是largObj?它是 JSON 对象形式还是字符串表示形式?你是如何在服务器上打印对象/查看接收到的文件的? @WillS largObj,在我上面的示例中,是一个 json 对象。数据通过服务器上的 console.log 打印。但是,如果 json 对象在提交之前进行了字符串化,那么由于 String 值太大,网站会崩溃。 如果是网站崩溃了,你能发布任何与处理文件上传相关的代码(如 Express 处理程序)吗?上传 1500 万个字符的文件(UTF-8 中为 15~60 MB)应该不是问题。此外,您可能想尝试类似@TennysonH 建议的处理表单上传的方法。 node-formidable 似乎也是另一个值得考虑的选择。 @WillS 我不会将它作为文件发送。它是一个字符串。代码的接收端应该不是问题。这是一个简单的 console.log(req.body.key)。 【参考方案1】:

我认为您将对象发送到服务器,而不是其中的信息。

您是否已经尝试将您的object 转换为JSON

formData.append('large_json', JSON.stringify(largObj)); 

【讨论】:

我已经尝试将对象转换为字符串并使用 formData.append 将其作为对象发送。但是,formData.append 无论如何都会将 json 转换为字符串,但它不会完全转换子元素,而只是将它们表示为“[Object object]”。如果我在提交之前显式地对 largeObj 进行字符串化,由于字符串值太大 ~15M 字符长度,结果在发送时会崩溃。

如何上传图像并将其保存在数据库中? [复制]

...【发布时间】:2011-10-2509:49:15【问题描述】:我必须使用JavaScript创建一个表单,用户将上传一个JPG文件并连同其他信息(例如姓名、电子邮件等)一起提交。当用户单击提交时,表单中的所有信息将被加载到一个值目的。对于... 查看详情

文件上传控件-如何上传文件-文件夹断点续传

最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、... 查看详情

如何在Javascript中删除上传的图像?

】如何在Javascript中删除上传的图像?【英文标题】:HowtodeleteuploadedimageinJavascript?【发布时间】:2017-07-0923:02:15【问题描述】:我正在开发我的第一个网络应用程序。它允许用户发布该地区发生的事件,类似于eventbrite。我正在使... 查看详情

使用 Laravel 4 中的表单将 innherHtml 传递的元素上传到数据库

...rminLaravel4【发布时间】:2013-07-0717:07:28【问题描述】:在javascript中,我有一个innerHtml元素,我正在尝试使用Laravel4中的表单将其上传到我的mysql数据库。在javascript中 查看详情

如何在 POSTMAN 中使用 raw 上传图像?

】如何在POSTMAN中使用raw上传图像?【英文标题】:HowtouploadimageusingrawinPOSTMAN?【发布时间】:2015-07-0700:59:35【问题描述】:我正在尝试使用POSTMAN上传图片。我成功使用了表单数据,但没有以原始JSON格式传递数据。通过POSTMAN中的... 查看详情

如何使用php在数据库中保存htmlmeta和javascript?

这不是重复的帖子,因为我使用htmlspecialchars()来转义表单以清理提交的表单,而CodeIgniter的活动记录正在转义所有引号。错误不是来自数据库的错误,当我尝试发送表单时,它是来自服务器的块。我有一个表单,将数据提交到... 查看详情

如何在一个表单中使用相同的上传处理来区分两个上传?(代码片段)

...字段)?两个上传处理程序可能有点矫枉过正。任何想法如何以一种好的方式解决这个问题?这是处理上传 查看详情

在javascript-ajax中提交表单时如何显示进度条

】在javascript-ajax中提交表单时如何显示进度条【英文标题】:Howtoshowtheprogressbarwhensubmittingtheforminjavascript-ajax【发布时间】:2021-06-1819:18:10【问题描述】:我已经做了进度条和一切。但是当我选择文件上传时出现问题,这意味着... 查看详情

在 ASP.NET 中,如何通过一个表单提交在客户端(javascript)和服务器端处理数据?

】在ASP.NET中,如何通过一个表单提交在客户端(javascript)和服务器端处理数据?【英文标题】:InASP.NET,howtoprocessdataonbothclientside(javascript)andserversidewiththeoneformsubmission?【发布时间】:2010-11-2722:31:15【问题描述】:我有一个场景... 查看详情

如何在网络表单 Liferay 7 中支持文件上传?

】如何在网络表单Liferay7中支持文件上传?【英文标题】:Howtosupportfileuploadinweb-formLiferay7?【发布时间】:2018-10-0512:05:53【问题描述】:我需要一个LiferayWeb表单的简单扩展,以增强Liferay7Web表单中填充数据的文件附件。还需要将... 查看详情

局域网大文件分片上传处理

...内置了比较方便的文件拆分和拼接方法,因此服务端代码使用PHP进行示例编写。本文相关示例代码位于github上,主要参考聊聊大文件上传大文件切割上传文件上传的几种方式首先我们来看看文件上传的几种方式。普通表单上传使... 查看详情

如何在 Alamofire 4 中进行多部分表单数据上传?

】如何在Alamofire4中进行多部分表单数据上传?【英文标题】:HowtodoamultipartFormDatauploadinAlamofire4?【发布时间】:2017-01-1617:25:19【问题描述】:迁移对我来说简直就是一场噩梦。我有这个旧版本的Swift/iOS/Alamofire的旧代码letintVal=0Ala... 查看详情

在 React 中上传带有表单数据的图像

...jsx(ItemList.jsx的子组件)上传表单数据。但是,当我尝试使用此数据发布图像文件时,图像属性在到达服务器时为undefined。我怀疑我在请求中使用了错误 查看详情

在 Swift 中使用多部分表单数据 iOS 上传图像

】在Swift中使用多部分表单数据iOS上传图像【英文标题】:Uploadimagewithmultipartform-dataiOSinSwift【发布时间】:2015-06-1919:37:42【问题描述】:我在使用multipart-form上传图片时遇到问题这是我从answer使用的代码varrequest=NSMutableURLRequest(URL... 查看详情

在 Python 请求中使用 POST 表单数据上传图像

】在Python请求中使用POST表单数据上传图像【英文标题】:UploadImageusingPOSTformdatainPython-requests【发布时间】:2015-05-2004:15:54【问题描述】:我正在使用微信API...在这里,我必须使用此API将图像上传到微信服务器http://admin.wechat.com/wi... 查看详情

如何使用laravel在数据库中上传多个文件

】如何使用laravel在数据库中上传多个文件【英文标题】:Howtouploadmultiplefilesindatabaseusinglaravel【发布时间】:2021-12-1618:09:25【问题描述】:我是laravel的新手。我正在尝试以表格形式上传多个文件,但是当我尝试插入数据时,它显... 查看详情

如何在 Flask 中获取表单数据? [复制]

...812:27:58【问题描述】:我需要从表单中获取数据。我使用JavaScript创建表单:<script>functioncheckAuth()varuser=ADAL.getCachedUser();if(user)varform=$(\'<formstyle 查看详情

在 JavaScript 中使用 ajax 提交和显示表单数据

】在JavaScript中使用ajax提交和显示表单数据【英文标题】:UsingajaxtosubmitanddisplayformdatainJavaScript【发布时间】:2013-10-0111:39:16【问题描述】:我的任务是根据这些要求使用我的HTML/CSS/JavaScript/jQuery技能来解决代码块:要求:-通过ad... 查看详情