Box View API:是否可以直接上传文件?

问题描述 投票:1回答:2

我想知道,是否可以直接上传一个文件,不需要保存在我的本地服务器上,就可以使用Box View API。这个想法是用户将能够上传一个文件(pdf,ppt等),它将只用于Box Viewer,而不是保存在我的服务器上。用户会上传很多大文件,我希望避免存储它们。

我知道Box需要一个文件位置的URL来让它生成内容,但是有没有一种方法可以让文件上传,并用View API来处理?

如果有谁知道解决的办法,将非常感谢! 谢谢你

box-api box documentviewer boxapiv2 box-view-api
2个回答
0
投票

没有办法直接从用户的浏览器上传,因为API不提供CORS头。这是出于安全考虑,因为要想直接从客户端上传,你必须暴露你的API令牌(你绝对不想这样做)。

一种不在服务器上存储文件的方法是将多部分上传请求代理到View API上(参见这个 要点 以了解如何使用node.js进行操作的例子)。) 另一个选择是使用服务,如 FilePicker,它允许用户从自己的计算机或任何其他服务中选择文件,它只是返回一个URL,你可以简单地使用URL上传传递给View API。


0
投票

只有在发送大文件的情况下,多部分API才是一个选项。 这是尝试发送一个小文件的反应。

{"data":
{"code":"file_size_too_small",
"message":"File size 23 less than minimum allowed for this API: 20000000",
"request_id":"aab58e965e91c8aa7283b2faddec5ab3"},
"status":400,"config":{"method":"POST",
"transformRequest":[null],
"transformResponse":[null],
"jsonpCallbackParam":"callback",
"url":"https://upload.box.com/api/2.0/files/upload_sessions",
"headers":{"Authorization":"Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type":"multipart/form-data",
"Accept":"application/json, text/plain, */*"},
"data":{"folder_id":"111111111111",
"file_size":23,
"file_name":"TestUploadFile.txt"}},
"statusText":"Bad Request",
"xhrStatus":"complete"}
© www.soinside.com 2019 - 2024. All rights reserved.