ওয়েব ক্যাপচার এবং রূপান্তর করার সরঞ্জামসমূহ

রুবির সাথে হ্যান্ডলাররুবি এপিআই

বিবরণ

আপনার হ্যান্ডলারটি ডিবাগ করতে সমস্যা হচ্ছে? চেষ্টা কর কলব্যাক হ্যান্ডলার পরীক্ষার সরঞ্জাম।

এখানে বর্ণিত হ্যান্ডলার গ্র্যাবিজ স্ক্রিনশট ওয়েব পরিষেবা থেকে কলব্যাকগুলি প্রক্রিয়া করে। এই হ্যান্ডলারের URL টি GrabzIt এ দেওয়া হয়েছে callBackURL এর প্যারামিটার save পদ্ধতি। তবে এই কৌশলটি কেবল তখনই কাজ করবে যদি হ্যান্ডলারটি ইন্টারনেটের মাধ্যমে অ্যাক্সেসযোগ্য হয়।

নিম্নলিখিত পরামিতিগুলি হ্যান্ডলারের কাছে GET পরামিতি হিসাবে প্রেরণ করা হবে।

  • আইডি - স্ক্রিনশটের অনন্য শনাক্তকারী, দ্বারা ব্যবহৃত get_result পদ্ধতি
  • ফাইলের নাম - স্ক্রিনশটের ফাইল নাম, এটি ফাইল এক্সটেনশনের সাথে স্ক্রিনশটের অনন্য সনাক্তকারীকে সংযুক্ত করে স্বয়ংক্রিয়ভাবে তৈরি করা হয়
  • বার্তা - স্ক্রিনশট প্রক্রিয়াকরণের সময় ত্রুটির কারণে কোনও বার্তা
  • কাস্টমআইড - যে কোনও কাস্টম আইডি যেটি গ্রাবাজিট ওয়েব সার্ভিসে পাস করা হয়েছিল save পদ্ধতি
  • ফর্ম্যাট - স্ক্রিনশটের ফর্ম্যাট, যেমন "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " টিফ "," ওয়েবপ "বা" এক্সএলএক্সএক্স "
  • টার্গেটরআর - যদি কোনও এক্সএনএমএক্স ফিরে আসে তবে ক্যাপচারটিতে জেনেরিক ত্রুটি থাকে, ক্যাপচার লক্ষ্য দ্বারা সৃষ্ট সমস্যার কারণে

আপনি যদি গ্র্যাবজিট ব্যতীত হ্যান্ডলারের সমস্ত অ্যাক্সেস অবরুদ্ধ করতে চান তবে এটি ব্যবহার করুন সুরক্ষা কৌশল.

উদাহরণ

মনে রাখবেন যে আপনার অ্যাপ্লিকেশন লোকালহোস্টে অবস্থিত থাকলে এই কলব্যাক কাজ করবে না।

এই উদাহরণটি দেখায় যে কীভাবে একটি গ্র্যাবসআইটি রুবি হ্যান্ডলার প্রয়োগ করা যেতে পারে। এটি গ্র্যাবসআইটি পরিষেবা থেকে এটিতে দেওয়া পাঁচটি প্যারামিটার ক্যাপচার করে, এতে স্ক্রিনশটের অনন্য আইডি যা পাস করা হয় get_result পদ্ধতি।

এই পদ্ধতিটি তখন স্ক্রিনশটটি দেয়, যা is saveস্ক্রিনশট ডিরেক্টরিতে ডি। তবে যদি ক nil মানটি থেকে ফিরে আসে get_result পদ্ধতিটি নির্দেশ করে যে কোনও ত্রুটি ঘটেছে।

require 'grabzit'

class HandlerController < ApplicationController
  def index
	  message = params[:message]
	  customId = params[:customid]
	  id = params[:id]
	  filename = params[:filename]
	  format = params[:format]
      targetError = params[:targeterror]
	  
	  grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
	  result = grabzItClient.get_result(id)
	  
	  if result == nil
	          return
	  end

	  # Ensure that the application has the correct rights for this directory.  
	  screenshot = File.new("public/screenshots/"+filename, "wb")
	  screenshot.write(result)
	  screenshot.close 
  end
end