画像アップスクリプトについて こんにちは。先にお...
プロフィール画像
miyasita1958さん 2016/10/25 09:46:34
助けてください。画像アップスクリプトについて
こんにちは。先にお願いですが、そろそろ還暦を迎える年寄りをです。勝手いってすみませんが知識も少なく具体的な回答でないと理解できません。高齢者でも、現在の画像をアップできるようにクリップボードからのアップが思いつき、WEBで検索して切り張りして途中までつくりましたが、最後のアップロード方法がわかりません。
ソース載せました。?????の引数はどうしたら渡せるでしょうか?
<script>
var src_canvas;
var src_ctx;
var image;
// ブラウザ判定
var clipboard_flg;
if((!window.navigator.msSaveBlob) &&
(window.navigator.userAgent.toUpperCase().indexOf('CHROME') != -1)){
// chrome
clipboard_flg = true;
}else if((window.navigator.msSaveBlob) &&
(window.navigator.userAgent.toUpperCase().indexOf('CHROME') != -1)){
// Edge
clipboard_flg = true;
}else{
// その他
clipboard_flg = false;
}
window.onload = function(){
src_canvas = document.getElementById("SrcCanvas");
src_ctx = src_canvas.getContext("2d");
image = document.getElementById("img_source");
}
if (clipboard_flg){
document.addEventListener('paste', function(e) {
e.preventDefault();
var items = e.clipboardData.items;
var dti = null;
for(i = 0; i < items.length; i++) {
if(items[i].type.indexOf("image") != -1) {
dti = items[i];
break;
}
}
if(dti){
image.onload = function(){
src_canvas.width = image.width;
src_canvas.height = image.height;
src_ctx.drawImage(image,0,0);
}
image.src = window.URL.createObjectURL(dti.getAsFile());
}else{
alert('err');
}
});
}
function getClipboardImage(){
if (clipboard_flg) return false;
function SearchImage(parent){
for(var i=0;i< parent.children.length;i++){
var child = parent.children[i];
if(child.nodeName.toUpperCase() == 'IMG'){
try{
var pollution_canvas = document.createElement("canvas");
pollution_canvas.style.display = 'none';
document.body.appendChild(pollution_canvas);
pollution_canvas.width = child.width;
pollution_canvas.height = child.height;
pollution_ctx = pollution_canvas.getContext("2d");
try{
pollution_ctx.drawImage(child,0,0);
}catch(e){
throw 'SecurityError';
}
pollution_ctx.getImageData(0, 0, pollution_canvas.width, pollution_canvas.height);
document.body.removeChild(pollution_canvas);
src_canvas.width = child.width;
src_canvas.height = child.height;
src_ctx.drawImage(child,0,0);
}catch(e){
alert(e +'\n\n' +'xxx\n'+'※Chromeをご利用ください。');
}
return true;
}
}
// 再帰処理
for(var i=0;i< parent.children.length;i++){
if (SearchImage(parent.children[i])) return true;
}
}
var paste = document.getElementById("PasteArea");
SearchImage(paste);
paste.innerHTML = '【使い方】~。';
document.getElementById("PasteArea").style.border='2px solid #ccc';
}
// ファイルアップロード
function upload_file_with_ajax(file){
var formData = new FormData();
formData.append('file', file);
$.ajax('/upload/image' , {
type: 'POST',
contentType: false,
processData: false,
data: formData,
error: function() {
success: function(res) {
}
});
}
function upload_file(){
upload_file_with_ajax(?????);
}
</script>
</head>
<body>
<p></p>
<div id="PasteArea" contenteditable="true" onkeyup ="getClipboardImage();"
onclick="PasteArea.style.border='1px solid #1e90ff';"
onblur="PasteArea.style.border='1px solid #ccc';"
style="width:90%;height:90px;border:1px solid #ccc;padding:10px;">
【使い方】<br>
1.このエリアをマウスでクリックします。<br>
2.キーボードの「Ctrl」キーを押しながら「V」キーを押します。<br>
3.アップロードをクリックします。<br>
</div>
<form name="form1" method="post"">
<input type="button" value="アップロード" onclick="upload_file()"/>
</form>
<img id="img_source" style="display:none;">
<canvas id="SrcCanvas"></canvas>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
jQueryのajax経由でアップロードしてよいという認識でよいですか?
<script src="適当なpath/jquery.js"></script>
<script>
$(function(){
$('[value=up]').on('click', function() {
var data=$('#imagearea img:first-child').attr('src');
if(data){
$.ajax({
type: 'POST',
url: 'uploadimage.php',
data: {
'data': data
},
dataType: 'text',
success: function( result ) {
},
});
}
});
});
</script>
<div id="imagearea" contenteditable='true'>ここに貼り付ける</div>
<input type="button" value="up">
あとはデータを受け取る側のuploadimage.phpが画像にファイル名をつけて
適当なpathにデータを流し込むだけです。
お返事遅れてすみません。
ご回答、どう組み込みすればよいかまだわかりませんが、これをヒントに色々勉強しつつ頑張ってみます。
JS覚えたいですが、年寄り初心者には結構ハードル高くて。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像の座標位置取得
-
window.openで値の渡し方を教え...
-
JAVAで画像をボタンで切り替え...
-
MAX関数を使ってからLEFT JOIN...
-
jspでcssが読み込めない
-
Javascript初心者|jQueryの.va...
-
eclipseでcssを使うためには?
-
[急ぎ] videoタグで埋め込んだm...
-
console.log結果をhtmlで表示し...
-
【CSS】floatで左右に並べた...
-
デフォルト非表示にしたい。【t...
-
キャラクターがぴょこんと飛び...
-
javascriptテキストBOX色を元に...
-
CSS 可変マージン
-
読み込んだQRコードをフォーム...
-
getElementByIdの戻り値がnull...
-
JSPでの画像ファイル表示
-
一部のjavascriptがfirefoxで効...
-
CSS <div>の入れ子が反映さ...
-
クリックで色変更後に既に変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openで値の渡し方を教え...
-
jQueryでサーバー上のファイル...
-
【jQuery】複数の画像の読み込...
-
複数のバナーをリロードする度...
-
jQueryで画像を重ねる
-
一定時間ごとにgif画像の切...
-
画像をクリックすると別ウイン...
-
JavaScriptで画面サイズによっ...
-
HTMLページ内のタグに対しての...
-
HPに複数の画像をクリックで切...
-
【javascript】ロールオーバー...
-
画像の入れ替え
-
javascriptによるランダム画像...
-
画像と文字を同時に切り替えたい
-
JavaScriptで画像置換えてクリ...
-
連続したURLへのwindow.openの...
-
リンク切の場合リンクしない
-
戻り読みの代わりとなる正規表...
-
複数のボールの落下、バウンド...
-
<img>タグの alt= の値をキャプ...
おすすめ情報
はい、利用対象が不特定多数の高齢者です。
パニック時に画面の状況を教えてもらいたいのでなるべくシンプル操作でないと難しいです