C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

異なるシステム間での画像の受け渡し

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■90870 / inTopicNo.1)  異なるシステム間での画像の受け渡し
  
□投稿者/ passop (1回)-(2019/05/09(Thu) 14:51:51)

分類:[JavaScript] 

システムAとシステムBの2つのシステムがあって、
それぞれ別のサーバーで動作するものとします。

システムAで動画から静止画像を作成して、
システムBでその静止画像を取り込んで、他の人が参照できるようにしたいと
考えています。

システムAで静止画像を作成したときに
共通フォルダーに画像をアップロードして
システムBでその画像を読み込めば1番手っ取り早いと思いますが、
システムAとシステムBは同一ネットワークにないため、
共通フォルダーは作成できません。

システムAで動画から静止画像を作成後にダウンロードして、
システムBの方でその画像を取り込めば、できそうですが、
ダウンロードファルダから画像を探すのは間違いの原因となりそうなので
もっと違う方法がないか考えています。

システムAからシステムBを呼び出すような感じで良いと考えていますが、
システムBで良い知恵があれば教えてください。

以下、システムAのサンプルソースです。

(クライアント側ソース)
<video id="video" src="<%=ResolveUrl("~/Videos/Butterfly.mp4") %>" width="400" height="300">
</video>
<canvas id="snapshot_canvas" style="width:320px; height:240px ; border: 1px solid black;"></canvas>


<div style="width:400px; background-color:#333333; color:#ffffff;">
<input type="button" value="再生" onclick="playVideo()"/>
<input type="button" value="一時停止" onclick="pauseVideo()"/>
<input type="button" value="静止画" onclick="TakeSnap()"/>
<input type="button" value="紹介システムに静止画UP" onclick="Other()"/>
現在(秒):<span id="ichi">0</span><br>
全体(秒):<span id="nagasa"></span><br>
<span id="kanryou"></span>
</div>

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>

<script type="text/javascript">
    var localVideo = document.getElementById("video");

    var localStream = null;
    var snapshotCanvas = document.getElementById('snapshot_canvas');
    var ctx = snapshotCanvas.getContext('2d');

    $(function () {
        var canvas = document.getElementById('snapshot_canvas');
    });

    function getDuration() {
        //動画の長さ(秒)を表示
        document.getElementById("nagasa").innerHTML = localVideo.duration;
    }

    function playVideo() {
        //再生完了の表示をクリア
        document.getElementById("kanryou").innerHTML = "";
        //動画を再生
        localVideo.play();
        //現在の再生位置(秒)を表示
        localVideo.addEventListener("timeupdate", function () {
            document.getElementById("ichi").innerHTML = localVideo.currentTime;
        }, false);
        getDuration();
        //再生完了を知らせる
        localVideo.addEventListener("ended", function () {
            document.getElementById("kanryou").innerHTML = "動画の再生が完了しました。";
        }, false);
    }

    function pauseVideo() {
        //動画を一時停止
        localVideo.pause();
    }

    //静止画を撮る
    function TakeSnap() {
        var canvas = document.getElementById('snapshot_canvas');
        var dataURI = canvas.toDataURL();
        ctx.drawImage(localVideo, 0, 0, 400, 300);
    }

</script>

引用返信 編集キー/
■90871 / inTopicNo.2)  Re[1]: 異なるシステム間での画像の受け渡し
□投稿者/ はまぐり (70回)-(2019/05/09(Thu) 17:45:04)
No90870 (passop さん) に返信

システムBでWebサービスを公開して
システムAがシステムBのWebサービスにリクエストを投げればいんじゃないでしょうか
いわゆるWebhookですね、いいしくみです
引用返信 編集キー/
■90872 / inTopicNo.3)  Re[2]: 異なるシステム間での画像の受け渡し
□投稿者/ PANG2 (279回)-(2019/05/09(Thu) 17:58:21)
システムAとシステムBでWebサービス(WebAPI)を用意して

ブラウザ → システムA → システムB

の順に画像を転送する。

ブラウザ側はこんな感じ。

Canvasで描画した画像を送信してサーバに保存する
https://qiita.com/0829/items/a8c98c8f53b2e821ac94

canvas の画像をアップロード
http://surferonwww.info/BlogEngine/post/2015/07/02/upload-image-drawn-on-html5-canvas.aspx

サーバ側はどういった技術が可能でしょうか?
引用返信 編集キー/
■90873 / inTopicNo.4)  Re[2]: 異なるシステム間での画像の受け渡し
□投稿者/ passop (2回)-(2019/05/09(Thu) 18:37:52)
No90871 (はまぐり さん) に返信

> システムBでWebサービスを公開して
> システムAがシステムBのWebサービスにリクエストを投げればいんじゃないでしょうか
> いわゆるWebhookですね、いいしくみです

申し訳ありません。

未熟者でして、Webサービスを作成したことがありません。
簡単なサンプルとか教えてください。

引用返信 編集キー/
■90874 / inTopicNo.5)  Re[3]: 異なるシステム間での画像の受け渡し
□投稿者/ passop (3回)-(2019/05/09(Thu) 18:39:37)
No90872 (PANG2 さん) に返信
>
> サーバ側はどういった技術が可能でしょうか?

VB.NET(ASP.NET)が使用可能です。

90871の方、同様の答えで申し訳ありませんが、
Webサービスの簡単なサンプルあれば教えてください。

引用返信 編集キー/
■90881 / inTopicNo.6)  Re[3]: 異なるシステム間での画像の受け渡し
□投稿者/ はまぐり (71回)-(2019/05/10(Fri) 10:57:05)
No90873 (passop さん) に返信

私もWebサービスを作成したことありません
JavaScriptも普段書かないですし
htmlを書くこともありませんし
VisualStudioもインストールされていません
手元にあるのはサクラエディタだけです
このサクラエディタで僕は・・・僕は・・・

さて本題に入ろうと思いますが
ASP.NET Webサービスでググったところ
このページがいい感じにまとまってるみたいでした

ASP.NET での WebAPI / Webサービス の実装 (ASP.NET プログラミング)
https://www.ipentec.com/document/asp-net-implement-web-api

JavaScriptからの呼び出しが容易となってるのがいんじゃないですかね
passopならイケるイケる

引用返信 編集キー/
■90883 / inTopicNo.7)  Re[4]: 異なるシステム間での画像の受け渡し
□投稿者/ はまぐり (72回)-(2019/05/10(Fri) 10:58:45)
passopさんです、敬称付け忘れました
わざとじゃないですごめんなさい
引用返信 編集キー/
■90889 / inTopicNo.8)  Re[5]: 異なるシステム間での画像の受け渡し
□投稿者/ passop (4回)-(2019/05/10(Fri) 17:10:11)
No90883 (はまぐり さん) に返信

比較表のWeb サービス ハンドラ JavaScriptからの呼び出し「たいへん」となっていたのが、
気になりましたが、passop頑張ってやってみます。

> passopさんです、敬称付け忘れました
> わざとじゃないですごめんなさい

いえいえ、全然気にしないでください。
教えて頂き、ありがとうございました。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ