2017-09-25 18 views
7

Có thể, từ một trang web, để trực tiếp OneDrive trên thiết bị của người dùng (iPad) để chụp ảnh và lưu trữ nó trong một thư mục cụ thể? Có thể trực tiếp OneDrive trên thiết bị của người dùng để tạo thư mục theo cách tương tự không?Chỉ đạo OneDrive trên thiết bị qua JavaScript/ứng dụng web

Trường hợp sử dụng về cơ bản là chúng tôi muốn ứng dụng web kiểm soát quy trình làm việc, nhưng thuê ngoài việc chụp ảnh và tải lên ảnh không đồng bộ lên OneDrive. Nhưng chúng tôi biết vị trí của ảnh và tên của chúng, vì vậy chúng tôi có thể tải chúng xuống máy chủ của chúng tôi sau khi chúng đã hoàn tất tải lên và có sẵn trên đám mây.

+0

do đó bạn muốn chụp ảnh bằng máy ảnh iPad và muốn upload nó lên một ổ đĩa. Là bạn muốn? – arunjos007

+0

Có thể không khả thi vì đó là ý tưởng thiết bị/trình duyệt chéo nhưng với các ứng dụng HTML5 ngoại tuyến và tăng hỗ trợ trình duyệt cho các dịch vụ thiết bị (máy ảnh, vị trí địa lý) tôi nghĩ tôi sẽ hỏi. Những gì tôi muốn làm là sử dụng trình duyệt web để yêu cầu ảnh được chụp và lưu trữ trên thiết bị và OneDrive trên thiết bị sẽ chăm sóc đồng bộ hóa tệp trên thiết bị với đám mây vào thư mục OneDrive mà trang web nhận thức được . – Dave

Trả lời

0

Đối với truy cập máy ảnh điện thoại di động từ điện thoại di động, bạn có thể sử dụng thẻ đầu vào như sau:

<input type="file" accept="image/*" capture="camera"> 

Bây giờ để tải lên các tập tin mà bạn có thể sử dụng onedrive JS SDK như thế này:

<script type="text/javascript" src="https://js.live.net/v7.2/OneDrive.js"></script> 
<script type="text/javascript"> 
    function launchSaveToOneDrive() { 
    var odOptions = { /* ... specify the desired options ... */ }; 
    OneDrive.save(odOptions); 
    } 
</script> 
<input type="file" id="fileUploadControl" name="fileUploadControl" accept="image/*" capture="camera"> 

<button onclick="launchSaveToOneDrive">Save to OneDrive</button> 

nơi odOptions sẽ như sau:

var odOptions = { 
    clientId: "INSERT-APP-ID-HERE", 
    action: "save", 
    sourceInputElementId: "fileUploadControl", 
    sourceUri: "", 
    fileName: "file.txt", 
    openInNewWindow: true, 
    advanced: {}, 
    success: function(files) { /* success handler */ }, 
    progress: function(p) { /* progress handler */ }, 
    cancel: function() { /* cancel handler */ }, 
    error: function(e) { /* error handler */ } 
} 

Phản hồi thành công của bạn sẽ có URL của OneDriv e tệp được tải lên sẽ được chuyển đến cuộc gọi lại thành công dưới dạng tham số.

{ 
    "value": [ 
    { 
     "id": "123456", 
     "name": "document1.docx", 
     "size": 12340, 
     "@content.downloadUrl": "https://contoso-my.sharepoint.com/download.aspx?guid=1231231231a", 
     "webUrl": "https://cotoso-my.sharepoint.com/personal/user_contoso_com/documents/document1.docx", 
     "thumbnails": [ 
     { 
      "id": "0", 
      "small": { "url": "https://sn3302files.onedrive.live.com/..." }, 
      "medium": { "url": "https://sn3302files.onedrive.live.com/..." }, 
      "large": { "url": "https://sn3302files.onedrive.live.com/..." } 
     } 
     ] 
    } 
    ] 
} 

Để biết thêm see: https://docs.microsoft.com/en-us/onedrive/developer/controls/file-pickers/js-v72/save-file)

+0

Xin chào, giải pháp này tải tệp lên bằng trang web. Tôi đang tìm cách giảm tải trách nhiệm đó xuống OneDrive trên điện thoại của người dùng (ví dụ như Tải lên Camera của Dropbox). Điều này là để người dùng có thể chụp ảnh và trang web biết nơi tìm thấy nó trên OneDrive (khi nó được tải lên), nhưng người dùng có thể đóng trang web và tải lên sẽ được thực hiện bởi OneDrive trên thiết bị ở chế độ nền. – Dave

Các vấn đề liên quan