2016-06-07 16:05
浏览 43

是否可以使用Office 365在线打开存储在Azure上的文档?

I am copying files using PHP onto an Azure service. Is it possible to produce a link that will allow a user to automatically open this stored document using Office 365 online? Currently, the return URL downloads the stored document to a users local storage. Here is my PHP code which uses the Microsoft Azure PHP SDK.

require_once 'vendor/autoload.php';

use WindowsAzure\Common\ServicesBuilder;
use MicrosoftAzure\Storage\Common\ServiceException;

// Create blob REST proxy.
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);

$content = fopen("demo.doc", "r");
$blob_name = "demo.doc";

try {
//Upload blob
$blobRestProxy->createBlockBlob("mycontainer", $blob_name, $content);
catch(ServiceException $e){
// Handle exception based on error codes and messages.
// Error codes and messages are here:
// http://msdn.microsoft.com/library/azure/dd179439.aspx
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code.": ".$error_message."<br />";

图片转代码服务由CSDN问答提供 功能建议

我正在使用PHP将文件复制到Azure服务上。 是否可以生成一个链接,允许用户使用Office 365在线自动打开此存储的文档? 目前,返回URL将存储的文档下载到用户本地存储。 这是我的PHP代码,它使用Microsoft Azure PHP SDK。

  require_once'porpers / autoload.php'; 
use WindowsAzure \ Common \ ServicesBuilder; 
use MicrosoftAzure \  Storage \ Common \ ServiceException; 
 //创建blob REST代理。
 $ connectionString =“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”; 
 $ blobRestProxy = ServicesBuilder :: getInstance() - &gt; createBlobService($ connectionString); 
 $ content = fopen(“demo.doc”,“r”); 
 $ blob_name =“demo.doc”; 
try {
 $ blobRestProxy-&gt; createBlockBlob(“  mycontainer“,$ blob_name,$ content); 
catch(ServiceException $ e){
 // //根据错误代码和消息处理异常。
 // http  ://msdn.microsoft.com/library/azure/dd179439.aspx 
 $ code = $ e-&gt; getCode(); 
 $ error_message = $ e-&gt; getMessage(); 
echo $ code。“  :“。$ error_message。”&lt; br /&gt;“; 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongzhang1839 2016-06-08 06:02

    The Office 365 is not able to open the file which store on other place( not in Office 365) by default. However, you may try to use the WOPI protocol to integrate with Office Online. The WOPI protocol enables Office Online to access and change files that are stored in your service.

    Another workaround is that you can consider upload the file to Office 365. And you can refer to the REST below to create/upload item to SharePoint online:

    POST: https://graph.microsoft.com/v1.0/me/drive/root/children
    authorization: bearer {token}
    content-type: application/json
    PUT: https://graph.microsoft.com/v1.0/me/drive/root:/RESTFei.docx:/content
    authorization: bearer {token}
    Content-Type: application/msword
    <@INCLUDE *C:\Users\username \Desktop\test.docx*@>

    More detail about developing with Microsoft Graph, please refer to here.

    点赞 打赏 评论

相关推荐 更多相似问题