我想将 HTML 输入文件转换为 JSON 字符串,如下所示:
var jsonString = JSON.stringify(file);
console.log( file );
console.log( jsonString );
现在,在我的 Firebug 中,它记录为:
File { size=360195, type="image/jpeg", name="xyz.jpg", mehr...}
Object {}
为什么 jsonString
是空的?
背景信息:我想将带有 JSONP 的文件引用发送到另一个 PHP 服务器。
附加信息:我只想将文件指针(引用)转换为字符串,然后通过 GET 发送。
最佳答案
无法直接转换 File在 Chrome、Firefox 和 Safari 中使用 JSON.stringify
将对象转换为 JSON。
您可以使用 JSON.stringify
File
对象转换为字符串
例如:
// get File Object
var fileObject = getFile();
// reCreate new Object and set File Data into it
var newObject = {
'lastModified' : fileObject.lastModified,
'lastModifiedDate' : fileObject.lastModifiedDate,
'name' : fileObject.name,
'size' : fileObject.size,
'type' : fileObject.type
};
// then use JSON.stringify on new object
JSON.stringify(newObject);
您也可以添加 toJSON()
behavior到你的 File
对象
前:
// get File Object
var fileObject = getFile();
// implement toJSON() behavior
fileObject.toJSON = function() { return {
'lastModified' : myFile.lastModified,
'lastModifiedDate' : myFile.lastModifiedDate,
'name' : myFile.name,
'size' : myFile.size,
'type' : myFile.type
};}
// then use JSON.stringify on File object
JSON.stringify(fileObject);
注意:使用 POST
HTTP 方法将 File
对象发送到服务器。
https://stackoverflow.com/questions/24139216/
相关文章:
json - 如何自定义来自 spring @Valid 验证的默认错误消息?
php - Laravel 5 Controller 将 JSON 整数作为字符串发送
python - datetime.date(2014, 4, 25) 在 Django 中不是 J
python - 如何从一个文件中提取多个 JSON 对象?
json - Spring Boot Actuator 端点的 pretty-print JSON
ajax - jquery mobile可折叠和galaxy tab 10.1 json响应给出随机
python - Django:使用 Javascript 在我的模板中解析 JSON