Abstract:
A non-transitory storage medium stores control programs. The programs cause an information processing apparatus to: acquire an instruction for the information processing apparatus, based on a reception of the operation by the receiver; determine, based on the acquired instruction, whether a content to be transmitted to a web server is determined to be one of a first content which is created by an external reading apparatus and which is not stored at the acquisition of the instruction and a second content which is stored at the acquisition of the instruction; when the content to be transmitted to the web server is determined to be the first content, output a request for the first content and acquire the first content; and output first content location information indicating a location of the acquired first content.

Description:
CROSS REFERENCE TO RELATED APPLICATION 
       [0001]    The present application claims priority from Japanese Patent Application No. 2014-061796, which was filed on Mar. 25, 2014, the disclosure of which is herein incorporated by reference in its entirety. 
       BACKGROUND 
       [0002]    1. Technical Field 
         [0003]    The present invention relates to an information processing apparatus communicable with a web server and to a non-transitory storage medium storing a plurality of control programs executable by a processor of the information processing apparatus. 
         [0004]    2. Description of the Related Art 
         [0005]    There is known an information processing apparatus communicable with a web server and capable of uploading a content stored in the information processing apparatus, to the web server. 
       SUMMARY 
       [0006]    However, in the case where a content constituted by scan data indicative of a particular document (hereinafter may be referred to as “scan content”) is not stored in the information processing apparatus, the information processing apparatus stores scan data obtained from, e.g., a scanner, into a specific folder as the scan content, and when the scan content stored in the specific folder is selected on, e.g., a selection screen, the scan content is uploaded to the web server. Thus, when the scan content is uploaded to the web server, a large number of user operations are required, resulting in low operability. Accordingly, an aspect of the disclosure relates to a technique for improving operability when a scan content is uploaded to a web server. 
         [0007]    In one aspect of the disclosure, a non-transitory storage medium stores a plurality of control programs executable by a processor of an information processing apparatus. The information processing apparatus includes: a communication device communicable with a reading apparatus; a first storage configured to store a content; a second storage configured to store a web browser program; a receiver configured to accept an user operation and provide an input corresponding to the user operation; and a display. The web browser program, when executed by the processor, causes the information processing apparatus to execute a web-browser processing in which the information processing apparatus: displays a web screen including a particular icon on the display; and receives an input designating the particular icon from the receiver. The plurality of control programs, when executed by the processor, cause the information processing apparatus to execute: an instruction acquisition processing in which the information processing apparatus acquires an instruction for the information processing apparatus, based on that the information processing apparatus, in the web-browser processing, receives the input designating the particular icon from the receiver; a determination processing in which the information processing apparatus determines, based on the instruction acquired in the instruction acquisition processing, whether a content to be transmitted to a web server is determined to be one of (i) a first content which is created by the reading apparatus and which is not stored in the first storage when the instruction is acquired and (ii) a second content which is stored in the first storage when the instruction is acquired; a content acquisition processing in which when the content to be transmitted to the web server is determined to be the first content in the determination processing, the information processing apparatus outputs a request for the first content and acquires the first content which is created by the reading apparatus as a response to the request for the first content; and a first-content-location-information output processing in which the information processing apparatus outputs first content location information indicating a location of the first content acquired in the content acquisition processing. The first content location information, output in the first-caontent location-information output processing, is processed in the web-browser processing. 
         [0008]    In another aspect of the disclosure, an information processing apparatus includes: a communication device communicable with a reading apparatus; a first storage configured to store a content; a second storage configured to store a web browser program; a receiver configured to accept an user operation and provide an input corresponding to the user operation; a display; and a controller. The web browser program, when executed by the processor, causes the information processing apparatus to execute a web-browser processing in which the information processing apparatus: displays a web screen including a particular icon on the display; and receives an input designating the particular icon from the receiver. The controller is configured to cause the information processing apparatus to execute: an instruction acquisition processing in which the information processing apparatus acquires an instruction for the information processing apparatus, based on that the information processing apparatus, in the web-browser processing, receives the input designating the particular icon from the receiver; a determination processing in which the information processing apparatus determines, based on the instruction acquired in the instruction acquisition processing, whether a content to be transmitted to a web server is determined to be one of (i) a first content which is created by the reading apparatus and which is not stored in the first storage when the instruction is acquired and (ii) a second content which is stored in the first storage when the instruction is acquired; a content acquisition processing in which when the content to be transmitted to the web server is determined to be the first content in the determination processing, the information processing apparatus outputs a request for the first content and acquires the first content which is created by the reading apparatus as a response to the request for the first content; and a first-content-location-information output processing in which the information processing apparatus outputs first content location information indicating a location of the first content acquired in the content acquisition processing. The first content location information, output in the first-caontent location-information output processing, is processed in the web-browser processing. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    The objects, features, advantages, and technical and industrial significance of the present disclosure will be better understood by reading the following detailed description of the embodiments, when considered in connection with the accompanying drawings, in which: 
           [0010]      FIG. 1  is a block diagram illustrating a communication system; 
           [0011]      FIG. 2  is a view illustrating an upload screen; 
           [0012]      FIG. 3  is a view illustrating a content selection screen; 
           [0013]      FIG. 4  is a flow chart illustrating processings executed by a personal computer (PC); 
           [0014]      FIG. 5  is a flow chart illustrating processings executed by the PC; 
           [0015]      FIG. 6  is a flow chart illustrating processings executed by the PC; 
           [0016]      FIG. 7  is a flow chart illustrating processings executed by the PC; 
           [0017]      FIG. 8  is a view illustrating a processing selection screen in a second embodiment; 
           [0018]      FIG. 9  is a flow chart illustrating processings executed by a PC according to the second embodiment; 
           [0019]      FIG. 10  is a flow chart illustrating processings executed by the PC according to the second embodiment; 
           [0020]      FIG. 11  is a view illustrating a file selection screen in a third embodiment; 
           [0021]      FIG. 12  is a flow chart illustrating processings executed by a PC according to the third embodiment; and 
           [0022]      FIG. 13  is a flow chart illustrating processings executed by the PC according to the third embodiment. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     Configuration of Communication System 
       [0023]      FIG. 1  illustrates a communication system  1  according to a first embodiment. The communication system  1  includes a PC  10  (Personal Computer) as one example of an information processing apparatus, a scanner  30 , a web server  32 , and an access point  34 . Each of the PC  10  and the scanner  30  can function as a well-known wireless-LAN terminal device and can transmit and receive data to and from each other via the access point  34 . The access point  34  has a router function. Thus, each of the PC  10  and the scanner  30  is also connected to the web server  32  over the Internet  36 . 
         [0024]    A configuration of the PC  10  will be explained. The PC  10  includes: a CPU  12  (Central Processing Unit) as one example of a controller, a computer, an executer of a web browser program, an executer of a plurality of control programs, and a processor configured to execute a scanner driver; a storage device  14 ; a mouse  16  as one example of a receiver; a panel  18  as one example of a display; and a wireless LAN interface  20  as one example of a communication device. These devices are communicable with each other via an input/output port  22 . 
         [0025]    The wireless LAN interface  20  can perform wireless communication in an infrastructure mode of wireless LAN. The wireless communication is Wi-Fi® wireless communication according to IEEE 802.11 and standards equivalent to it. The PC  10  can perform data communication with the scanner  30  and the web server  32  via the access point  34 . 
         [0026]    The storage device  14  has a program storage area  24  as one example of a second storage. The program storage area  24  stores a web browser program  24   a  as one example of a web browser program, a plug-in program  24   b  as one example of the plurality of control programs, and a scan driver program  24   c  as one example of a scan driver. The web browser program  24   a  is a program for analyzing HTML data acquired or retrieved from a web, to display a web page. The plug-in program  24   b  is a plug-in program for the web browser program  24   a  and can transfer commands with the web browser program  24   a  and the scan driver program  24   c . Upon receiving a command from the plug-in program  24   b , the scan driver program  24   c  causes the scanner  30  to execute a scan processing to send the plug-in program  24   b  scan data created in the scan processing. 
         [0027]    The storage device  14  also has a data storage area  26  as one example of a first storage. The data storage area  26  stores contents each constituted by, e.g., image data, and data required for execution of the web browser program  24   a , for example. It is noted that each of the contents is selectively stored in a corresponding one of folders created in the data storage area  26 . The storage device  14  is constituted by combination of a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, a HDD (Hard Disk), a buffer provided for the CPU  12 , and other similar devices. 
         [0028]    The CPU  12  executes processings according to, e.g., the web browser program  24   a . Hereinafter, the CPU  12  that executes programs such as the web browser program  24   a  may be simply referred to as the name of the program. For example, the wording “the web browser program  24   a  executes” may mean “the CPU  12  that executes the web browser program  24   a  executes”. 
         [0029]    The panel  18  displays images based on image data, for example. The mouse  16  is a device for moving a point displayed on the panel  18  and capable of receiving a click operation performed by a user. 
       Upload of Content in Communication System 
       [0030]    In the communication system  1 , the web browser program  24   a  is executed by the PC  10  to upload the contents stored in the data storage area  26  of the PC  10  (hereinafter may be referred to as “stored contents”) to the web server  32 . Specifically, as illustrated in  FIG. 2 , when the web browser program  24   a  is executed, the panel  18  displays an upload screen  50  as one example of a web screen. The upload screen  50  contains a file-path display field  52 , a browse (reference) button  54  as one example of at least one icon, and an upload button  56 . When the user moves the pointer onto the browse button  54  using the mouse  16  and left-clicks the browse button  54 , as illustrated in  FIG. 3 , the panel  18  displays a content selection screen  58  as one example of a second screen. It is noted that a user operation of moving the pointer onto a certain button displayed on the panel  18  and left-clicking the button may be hereinafter simply referred to as “left-click on the certain button” or “the user left-clicks the certain button”. 
         [0031]    The content selection screen  58  contains a plurality of folder determination buttons  60 ,  62 ,  64 ,  66  (each as one example of second content location information) and a determination button  68 . Each of the folder determination buttons  60 ,  62 ,  64 ,  66  is a button for the user to select a content stored in a corresponding one of the folders. When any of the folder determination buttons  60 ,  62 ,  64 ,  66  is left-clicked, the name of each content stored in the folder corresponding to the operated button is displayed on the content selection screen  58 . When the user left-clicks one of the displayed content names, the content corresponding to it is selected. 
         [0032]    When the determination button  68  is left-clicked on the content selection screen  58  in the state in which the content is selected, the panel  18  displays the upload screen  50  instead of the content selection screen  58 . On the file-path display field  52  contained in this upload screen  50 , the name of a file path for the content selected on the content selection screen  58  (noted that the file path name is another example of the second content location information) is displayed. When the upload button  56  is left-clicked in this state, the content identified by the file path name, i.e., the content selected on the content selection screen  58  is uploaded to the web server  32 . 
         [0033]    In the communication system  1  as described above, the contents stored in the data storage area  26  of the PC  10  (as one example of second content) are uploaded to the web server  32 . In the case where a content constituted by scan data indicative of a certain document (noted that this content may be hereafter referred to as “scan content”, and this scan content is one example of first content) is not stored in the data storage area  26 , the following operations are conventionally performed: the PC  10  stores scan data obtained from, e.g., the scanner  30 , into a predetermined folder as the scan content; then the user selects the scan content from the predetermined folder on the content selection screen  58 ; and the scan content is uploaded to the web server  32 . 
         [0034]    Specifically, in the case where scan data obtained from the scanner  30  is stored by the PC  10  into Folder  1  as the scan content, for example, the user left-clicks the browse button  54  on the upload screen  50  to display the content selection screen  58  on the panel  18 . The user then left-clicks a folder determination button  60  on the content selection screen  58  to select the scan content. The user then left-clicks the determination button  68  to display the upload screen  50  on the panel  18 . The user then left-clicks the upload button  56  on the upload screen  50  to upload the scan content to the web server  32 . 
         [0035]    To upload the scan content to the web server  32  in the conventional manner, a large number of user operations are required as described above, resulting in low operability. To solve this problem, the PC  10  employs the plug-in program  24   b  for adding, to the web browser program  24   a , a function for causing the scanner  30  to execute the scan processing and then uploading the scan data created in the scan processing to the web server  32 . 
         [0036]    There will be next explained a technique for uploading the scan content to the web server  32  according to the plug-in program  24   b . However, the technique for uploading the scan content to the web server  32  varies by type of the web browser program  24   a , and accordingly the technique for uploading the scan content to the web server  32  will be explained for each type of the web browser program  24   a.    
         [0037]    First, there will be explained the case where the web browser program  24   a  is Firefox® which is a registered trademark of Mozilla Foundation. When Firefox is activated or started on the PC  10 , the CPU  12  determines whether the click operation has been performed or not. When the click operation is performed, the CPU  12  executes the plug-in program  24   b . That is, the plug-in program  24   b  is executed as a sub-routine of the web browser program  24   a . It is noted that the web browser program  24   a  is in a standby state during execution of processings according to the plug-in program  24   b.    
         [0038]    When the plug-in program  24   b  is executed, the CPU  12  determines whether the detected click operation is an operation performed on the browse button  54  (as one example of an instruction for the information processing apparatus) or not. When the detected click operation is an operation performed on the browse button  54 , the CPU  12  determines whether the click operation is right-click or left-click. When the detected click operation is right-click (as another example of the instruction for the information processing apparatus and as one example of the instruction for determining the first content as a content to be transmitted to a web server), a command for transmitting the scan instruction to the scanner  30  is transmitted to the scan driver program  24   c . When having received the command for transmitting the scan instruction to the scanner  30 , the scan driver program  24   c  transmits a scan instruction to the scanner  30 . When having received the scan instruction, the scanner  30  executes the scan processing and transmits scan data created in the scan processing, to the PC  10 . This scan data is acquired by the scan driver program  24   c  and output from the scan driver program  24   c  to the plug-in program  24   b.    
         [0039]    When having received the scan data from the scan driver program  24   c , the plug-in program  24   b  stores the received scan data into a set particular folder as the scan content. The plug-in program  24   b  outputs, to the web browser program  24   a , a file path (as one example of first content location information) for the scan content stored in the folder. Then, a notification indication completion of a series of processings executed by the plug-in program  24   b  (noted that this notification may be hereinafter referred to as “completion notification”) is output to the web browser program  24   a . As a result, the standby state of the web browser program  24   a  is canceled or released. 
         [0040]    It is noted that when it is determined that the detected click operation is right-click during execution of the plug-in program  24   b , a display disallowing command is output to the web browser program  24   a . This display disallowing command is a command for disallowing display of the content selection screen  58  on the panel  18  during the execution of the web browser program  24   a . In the case where this display disallowing command is detected during the execution of the web browser program  24   a , the content selection screen  58  is not displayed on the panel  18  even when the browse button  54  is left-clicked. 
         [0041]    When the standby state of the web browser program  24   a  is canceled, the web browser program  24   a  determines whether the display disallowing command has been output or not. When the display disallowing command is output, the panel  18  displays the upload screen  50 . That is, when the browse button  54  is right-clicked, the panel  18  displays the upload screen  50 . At this time, the file path for the scan content which is output by the execution of the plug-in program  24   b  is displayed in the file-path display field  52  on the upload screen  50 . That is, the scan content is in its selected state, and when the determination button  68  is left-clicked by the user on the upload screen  50 , the scan content is transmitted to the web server  32 . 
         [0042]    As thus described, the scan content is selected on the PC  10  only by the right-click of the user on the browse button  54 . This configuration simplifies the operation for uploading the scan content to the web server  32 , thereby increasing operability in the upload operation. Also, in the PC  10 , the web browser program  24   a  has the function for executing the plug-in program  24   b  to cause the scanner  30  to execute the scan processing and upload the scan data created in the scan processing to the web server  32 . This configuration allows easy upload of the scan content to the web server  32  using the conventional web browser program, thereby reducing efforts required for development of the program. 
         [0043]    It is noted that when it is determined that the detected click operation is not an operation performed on the browse button  54  or when the detected click operation is an operation performed on the browse button  54  but this click operation is left-click, the command for transmitting the scan instruction to the scanner  30  is not transmitted, the display disallowing command is not output, and the completion notification is output. As a result, the standby state of the web browser program  24   a  is canceled, and processings of the web browser program  24   a  are executed. In this case, when the browse button  54  displayed on the upload screen  50  is left-clicked (noted that this left click is another example of the instruction for the information processing apparatus and one example of an instruction for determining the second content as the content to be transmitted to the web server), the panel  18  displays the content selection screen  58 , and the user can select a desired one of the contents (as another example of the second content) stored in each of the folders created in the data storage area  26 . 
         [0044]    There will be next explained the case where the web browser program  24   a  is Google Chrome® which is a registered trademark of Google Inc. When Google Chrome is activated on the PC  10 , the CPU  12  determines whether the browse button  54  on the upload screen  50  has been clicked or not. When the CPU  12  determines that the browse button  54  is clicked, the CPU  12  outputs information indicating that the browse button  54  is clicked (hereinafter may be referred to as “operation information”). 
         [0045]    It is noted that in the case where the web browser program  24   a  is Google Chrome, the plug-in program  24   b  is executed with the execution of the web browser program  24   a  to execute processings relating to the operation information which is output by the execution of the web browser program  24   a . That is, the plug-in program  24   b  is executed as a sub-thread of the web browser program  24   a . It is noted that while the processings of the plug-in program  24   b  are being executed, the web browser program  24   a  is in the standby state. 
         [0046]    According to the plug-in program  24   b  executed by the execution of the web browser program  24   a , the CPU  12  determines whether the operation information has been output or not. When the operation information is output, the CPU  12  determines whether the click operation based on which the operation information has been created is right-click or not. When the click operation based on which the operation information has been created is right-click, the command for transmitting the scan instruction to the scanner  30  is transmitted to the scan driver program  24   c . When having received the command for transmitting the scan instruction to the scanner  30 , the scan driver program  24   c  transmits a scan instruction to the scanner  30 . When having received the scan instruction, the scanner  30  executes the scan processing and transmits the scan data created in the scan processing, to the PC  10 . This scan data is acquired by the scan driver program  24   c  and output from the scan driver program  24   c  to the plug-in program  24   b.    
         [0047]    The plug-in program  24   b  stores the scan data received from the scan driver program  24   c , into the set particular folder as the scan content. The file path for the scan content stored in the folder is output to the web browser program  24   a . The completion notification is then output to the web browser program  24   a , so that the standby state of the web browser program  24   a  is canceled. 
         [0048]    It is noted that when the standby state of the web browser program  24   a  is canceled, as in the case where the web browser program  24   a  is Firefox, the CPU  12  determines whether the display disallowing command has been output or not, and when the display disallowing command is output, the panel  18  displays the upload screen  50  on which the scan content is in the selected state. Accordingly, also in the case where the web browser program  24   a  is Google Chrome, it is possible to obtain effects obtained in the case where the web browser program  24   a  is Firefox. 
       Control Program 
       [0049]    The upload of the content to the web server  32  in the communication system  1  is executed according to the web browser program  24   a  and the plug-in program  24   b  executed by the CPU  12 . There will be next explained processings executed by the CPU  12  with reference to  FIGS. 4-7 .  FIG. 4  illustrates a flow of processings executed by the CPU  12  according to the web browser program  24   a  in the case where the web browser program  24   a  is Firefox.  FIG. 5  illustrates a flow of processings executed by the CPU  12  according to the plug-in program  24   b  in the case where the web browser program  24   a  is Firefox.  FIG. 6  illustrates a flow of processings executed by the CPU  12  according to the web browser program  24   a  in the case where the web browser program  24   a  is Google Chrome.  FIG. 7  illustrates a flow of processings executed by the CPU  12  according to the plug-in program  24   b  in the case where the web browser program  24   a  is Google Chrome. 
         [0050]    In the case where the web browser program  24   a  is Firefox, when the web browser program  24   a  is executed, the flow illustrated in  FIG. 4  begins with 5100 at which the browser is initialized. The CPU  12  at S 102  prepares activation of the plug-in program  24   b . The CPU  12  at S 104  determines whether the click operation has been performed or not. When the click operation is not performed (S 104 : NO), the CPU  12  repeats the processing at S 104 . When the click operation is performed (S 104 : YES), the CPU  12  at S 106  executes processings according to the plug-in program  24   b . That is, the CPU  12  activates the plug-in program  24   b.    
         [0051]    When the plug-in program  24   b  is activated, as illustrated in  FIG. 5 , the plug-in program  24   b  at S 120  determines whether the detected click operation is an operation performed on the browse button  54  or not. When the detected click operation is an operation performed on the browse button  54  (S 120 : YES), the plug-in program  24   b  at S 122  determines whether the click operation is right-click or not. When the click operation is right-click (S 122 : YES), the plug-in program  24   b  at S 124  outputs the display disallowing command. 
         [0052]    The plug-in program  24   b  at S 126  outputs the command for transmitting the scan instruction to the scanner  30 , to the scan driver program  24   c . In response, the scan driver program  24   c  transmits a scan instruction to the scanner  30  and receives scan data from the scanner  30  as a response to the scan instruction. The scan driver outputs the obtained scan data to the plug-in program  24   b . The plug-in program  24   b  at S 128  acquires the scan data from the scan driver program  24   c . When having received the scan data, the plug-in program  24   b  at S 130  stores the received scan data into the set particular folder as the scan content. The plug-in program  24   b  at S 132  outputs the file path (as another example of the first content location information) for the scan content stored in the folder, to the web browser program  24   a . When having output the file path, the plug-in program  24   b  at S 134  outputs the completion notification to the web browser program  24   a , and the execution of the plug-in program  24   b  is finished. It is noted that also when the plug-in program  24   b  at S 120  determines that the detected click operation is not an operation performed on the browse button  54  (S 120 : NO) or when the plug-in program  24   b  at S 122  determines that the click operation is left-click (S 122 : NO), the plug-in program  24   b  at S 134  outputs the completion notification, and the execution of the plug-in program  24   b  is finished. 
         [0053]    When the execution of the plug-in program  24   b  is finished, as illustrated in  FIG. 4 , the CPU  12  at S 108  determines, according to the web browser program  24   a , whether the display disallowing command has been acquired or not. When the display disallowing command is not acquired, the CPU  12  at S 110  controls the panel  18  to display the content selection screen  58 . When the display disallowing command is acquired, the CPU  12  at S 114  controls the panel  18  to display the upload screen  50 . It is noted that when the upload screen  50  is displayed at S 114 , the file path for the scan content is displayed in the file-path display field  52  on the upload screen  50 . When the upload screen  50  or the content selection screen  58  is displayed on the panel  18 , the CPU  12  at S 112  executes normal processings according to the web browser program  24   a , this flow returns to S 104 . 
         [0054]    In the case where the web browser program  24   a  is Google Chrome, when the web browser program  24   a  is executed, the flow illustrated in  FIG. 6  begins with 5140 at which the browser is initialized. The plug-in program  24   b  is activated at S 142 . The CPU  12  at S 144  determines whether the browse button  54  has been clicked or not. When the click operation is not performed on the browse button  54  (S 144 : NO), the CPU  12  repeats the processing at S 144 . When the click operation is performed on the browse button  54  (S 144 : YES), the PC  10  at S 146  outputs the operation information to the plug-in program  24   b.    
         [0055]    The CPU  12  at S 148  determines whether the completion notification has been acquired or not. When the completion notification is not acquired (S 148 : NO), the CPU  12  repeats the processing at S 148 . That is, the web browser program  24   a  is switched to the standby state. When the completion notification is acquired (S 148 : YES), that is, when the standby state is canceled, the CPU  12  at S 150  determines whether the display disallowing command has been acquired or not. When the display disallowing command is not acquired, the CPU  12  at S 152  controls the panel  18  to display the content selection screen  58 . When the display disallowing command is acquired, the CPU  12  at S 156  controls the panel  18  to display the upload screen  50 . It is noted that when the upload screen  50  is displayed at S 156 , the file path for the scan content is displayed in the file-path display field  52  on the upload screen  50 . When the upload screen  50  or the content selection screen  58  is displayed on the panel  18 , the CPU  12  at S 154  executes normal processings according to the web browser program  24   a , this flow returns to S 144 . 
         [0056]    According to the plug-in program  24   b  activated by the processing at S 142  in the web browser program  24   a , as illustrated in  FIG. 7 , the CPU  12  at S 160  determines whether the operation information has been acquired or not. When the operation information is acquired (S 160 : YES), the CPU  12  at S 162  determines whether the click operation based on which the operation information has been created is right-click or not. When the click operation is right-click (S 162 : YES), the CPU  12  executes processings at S 164  and subsequent steps, but the processings at S 164 -S 172  are the same as the above-described processings at S 124 -S 132 , and an explanation of which is dispensed with. Upon completion of the processing at S 172 , the PC  10  at S 174  outputs the completion notification. It is noted that when the operation information is not acquired at S 160  (S 160 : NO), the CPU  12  repeats the processing at S 160 . When the click operation is left-click at S 162  (S 162 : NO), the plug-in program  24   b  at S 174  outputs the completion notification. When the completion notification is output, this flow returns to S 160 . 
       Second Embodiment 
       [0057]    In the first embodiment, when the browse button  54  is left-clicked, the upload processing for uploading the stored content to the web server  32  is executed, and when the browse button  54  is right-clicked, the upload processing for uploading the scan content to the web server  32  is executed. In a second embodiment, a scan button and a file button are displayed on the panel  18 , an upload processing for each of the stored content and the scan content is executed in response to a click operation (another example of the instruction for the information processing apparatus) on a corresponding one of the scan button and the file button. The upload processing of the content in the communication system  1  in the second embodiment will be explained below. It is noted that the same component as used in the first embodiment are used in this second embodiment, and illustrations and an explanation of which are dispensed with. 
         [0058]    Also in this second embodiment, the panel  18  displays the upload screen  50  according to the web browser program  24   a . When the browse button  54  displayed on the upload screen  50  is left-clicked, as illustrated in  FIG. 8 , a processing selection screen  70  as one example of a first screen is displayed on the panel  18  instead of the upload screen  50 . The processing selection screen  70  contains a scan button  72  (as one example of first content selection information), a file button  74  (as one example of second content selection information and as another example of the second content location information), and a determination button  76 . 
         [0059]    The file button  74  is a button for the user to select a processing for uploading the stored content to the web server  32 . The determination button  76  is a button for executing a processing related to the selected button. Accordingly, when the determination button  76  is left-clicked after the file button  74  is left-clicked (noted that this left-click is another example of the instruction for the information processing apparatus and another example of the instruction for determining the second content as the content to be transmitted to the web server), the CPU  12  executes processings similar to the processings executed when the browse button  54  is left-clicked in the first embodiment. That is, when the file button  74  and the determination button  76  are left-clicked, the panel  18  displays the content selection screen  58  instead of the processing selection screen  70 . When the determination button  68  on the content selection screen  58  is thereafter left-clicked by the user in the state in which a content stored in the folder is selected, a file path for the selected stored content is displayed in the file-path display field  52  on the upload screen  50 . As thus described, when the file button  74  and the determination button  76  are left-clicked on the processing selection screen  70 , and the above-described user operation is performed, the stored content is switched to the selected state. 
         [0060]    The scan button  72  is a button for the user to select a processing for uploading the scan content to the web server  32 . Accordingly, when the determination button  76  is left-clicked after the scan button  72  is left-clicked (noted that this left-click is another example of the instruction for the information processing apparatus and as another example of the instruction for determining the first content as the content to be transmitted to the web server), the CPU  12  executes processings similar to those executed in the case where the browse button  54  is right-clicked in the first embodiment. That is, when the scan button  72  and the determination button  76  are left-clicked, the PC  10  sends the scan driver program  24   c  the command for transmitting the scan instruction to the scanner  30 . When having received the command for transmitting the scan instruction to the scanner  30 , the scan driver program  24   c  transmits a scan instruction to the scanner  30 . When having received the scan instruction, the scanner  30  executes a scan processing and sends the PC  10  scan data created in the scan processing. This scan data is acquired by the scan driver program  24   c  and output from the scan driver program  24   c  to the plug-in program  24   b . When having received the scan data from the scan driver program  24   c , the plug-in program  24   b  stores the received scan data into the set particular folder as the scan content. A file path for the scan content stored in the folder is then transmitted to the web browser program  24   a . As a result, the file path for the scan content is displayed in the file-path display field  52  on the upload screen  50 . As thus described, when the scan button  72  and the determination button  76  are left-clicked on the processing selection screen  70 , the scan content is switched to the selected state. 
         [0061]    In the second embodiment as described above, the scan content can be uploaded to the web server  32  with a very small number of user operations, resulting in increase in operability in the upload operation. Also, in the second embodiment, as in the first embodiment, the above-described processings are executed by the execution of the web browser program  24   a , the plug-in program  24   b , and the scan driver program  24   c . There will be explained, with reference to  FIG. 9 , a flow of processings executed by the CPU  12  according to the plug-in program  24   b  in the case where the web browser program  24   a  is Firefox. It is noted that the same flow as illustrated in  FIG. 4  is executed in the flow executed by the CPU  12  according to the web browser program  24   a  in the case where the web browser program  24   a  is Firefox, and an explanation of which is dispensed with. Also, there will be explained, with reference to  FIG. 10 , a flow of processings executed by the CPU  12  according to the plug-in program  24   b  in the case where the web browser program  24   a  is Google Chrome. It is noted that the same flow as illustrated in  FIG. 6  is executed in the flow executed by the CPU  12  according to the web browser program  24   a  in the case where the web browser program  24   a  is Google Chrome, and an explanation of which is dispensed with. 
         [0062]    In the case where the web browser program  24   a  is Firefox, when the processing at S 106  in  FIG. 4  is executed according to the web browser program  24   a , the plug-in program  24   b  is executed, and as illustrated in  FIG. 9  the CPU  12  at S 180  determines whether the click operation detected by the execution of the web browser program  24   a  is left-click on the browse button  54  or not. When the click operation detected by the execution of the web browser program  24   a  is left-click on the browse button  54  (S 180 : YES), the CPU  12  at S 182  controls the panel  18  to display the processing selection screen  70 . 
         [0063]    The CPU  12  at S 184  determines whether the scan button  72  has been operated on the processing selection screen  70  or not. When the scan button  72  is operated (S 184 : YES), the CPU  12  executes processings at S 186  and subsequent steps, but the processings at S 186 -S 196  are the same as the above-described processings at S 124 -S 134 , and an explanation of which is dispensed with. Upon completion of the processing at S 196 , the processings of the plug-in program  24   b  are finished, and the web browser program  24   a  executes the processings at S 108  and subsequent steps in  FIG. 4 . It is noted that also when the click operation is not left-click on the browse button  54  at S 180  (S 180 : NO) or when the file button  74  is operated at S 184  (S 184 : NO), the completion notification is output at S 196 , and the processings of the plug-in program  24   b  are finished. The web browser program  24   a  then executes the processings at S 108  and subsequent steps in  FIG. 4 . 
         [0064]    In the case where the web browser program  24   a  is Google Chrome, when the processing at S 142  in  FIG. 6  is executed according to the web browser program  24   a , the plug-in program  24   b  is executed, and as illustrated in  FIG. 10  the CPU  12  at S 200  determines whether operation information created by the execution of the web browser program  24   a  has been acquired or not. When the operation information is acquired (S 200 : YES), the CPU  12  at S 202  controls the panel  18  to display the processing selection screen  70 . 
         [0065]    The CPU  12  at S 204  determines whether the scan button  72  has been operated on the processing selection screen  70  or not. When the scan button  72  is operated (S 204 : YES), the CPU  12  executes processings at S 206  and subsequent steps, but the processings at S 206 -S 214  are the same as the above-described processings at S 164 -S 172 , and an explanation of which is dispensed with. Upon completion of the processing at S 214 , the CPU  12  at S 216  outputs the completion notification, and this flow returns to S 200 . It is noted that also when the operation information is not acquired at S 200  (S 200 : NO) or the file button  74  is operated at S 204  (S 204 : NO), the CPU  12  at S 216  outputs the completion notification, and this flow returns to S 200 . 
         [0066]    In the second embodiment as described above, as in the first embodiment, the scan content can be uploaded to the web server  32  using the conventional web browser program, thereby reducing efforts required for development of the program. 
       Third Embodiment 
       [0067]    In the first embodiment and the second embodiment, the content selection screen  58  for selecting the stored content is displayed on the panel  18  by the execution of the web browser program  24   a . In the third embodiment, a content selection screen for selecting the stored content is displayed on the panel  18  by execution of the plug-in program  24   b . The upload processing of the content in the communication system  1  in the third embodiment will be explained below. It is noted that the same component as used in the first embodiment are used in this third embodiment, and illustrations and an explanation of which are dispensed with. 
         [0068]    Also in this third embodiment, the panel  18  displays the upload screen  50  according to the web browser program  24   a . When the browse button  54  displayed on the upload screen  50  is left-clicked, as illustrated in  FIG. 11 , a file selection screen  80  as another example of the first screen is displayed on the panel  18  according to the plug-in program  24   b . The file selection screen  80  contains a plurality of folder determination buttons  82 ,  84 ,  86 ,  88  (each as another example of the second content selection information and the second content location information), a scan button  90  (as another example of the first content selection information), and a determination button  92 . 
         [0069]    Each of the folder determination buttons  82 ,  84 ,  86 ,  88  has the same function as that of the folder determination buttons  60 ,  62 ,  64 ,  66  contained in the content selection screen  58  in the first embodiment. The determination button  92  is a button for executing a processing related to the selected button. Accordingly, when the determination button  92  is left-clicked after any one of the folder determination buttons  82 ,  84 ,  86 ,  88  is left-clicked (noted that this left-click is another example of the instruction for the information processing apparatus and another example of the instruction for determining the second content as the content to be transmitted to the web server), the CPU  12  executes processings similar to the processings executed when any one of the folder determination buttons  60 ,  62 ,  64 ,  66  and the determination button  68  are left-clicked on the content selection screen  58  in the first embodiment. That is, when any one of the folder determination buttons  82 ,  84 ,  86 ,  88  and the determination button  92  are left-clicked on the file selection screen  80 , contents stored in the clicked one of the folder determination buttons  82 ,  84 ,  86 ,  88  are displayed on the file selection screen  80  on the panel  18 , and the user selects a desired one of the stored contents. When the determination button  92  is clicked, a file path (as another example of the second content location information) for the selected stored content is displayed in the file-path display field  52  on the upload screen  50 . As thus described, when any one of the folder determination buttons  82 ,  84 ,  86 ,  88  and the determination button  92  are left-clicked on the file selection screen  80 , the stored content is switched to the selected state. 
         [0070]    The scan button  90  is a button for the user to select a processing for uploading the scan content to the web server  32 . Accordingly, when the determination button  92  is left-clicked after the scan button  90  is left-clicked (noted that this left-click is another example of the instruction for the information processing apparatus and another example of the instruction for determining the first content as the content to be transmitted to the web server), the CPU  12  executes processings similar to those executed in the case where the browse button  54  is right-clicked in the first embodiment. That is, the scan button  90  and the determination button  92  are left-clicked, the PC  10  sends the scan driver program  24   c  the command for transmitting the scan instruction to the scanner  30 . When having received the command for transmitting the scan instruction to the scanner  30 , the scan driver program  24   c  transmits a scan instruction to the scanner  30 . When having received the scan instruction, the scanner  30  executes a scan processing and sends the PC  10  scan data created in the scan processing. This scan data is acquired by the scan driver program  24   c  and output from the scan driver program  24   c  to the plug-in program  24   b . When having received the scan data from the scan driver program  24   c , the plug-in program  24   b  stores the received scan data into the set particular folder as the scan content. A file path (as another example of the first content location information) for the scan content stored in the folder is then output to the web browser program  24   a . As a result, the file path for the scan content is displayed in the file-path display field  52  on the upload screen  50 . As thus described, when the scan button  90  and the determination button  92  are left-clicked on the file selection screen  80 , the scan content is switched to the selected state. 
         [0071]    In the third embodiment as described above, the scan content can be uploaded to the web server  32  with a very small number of user operations, resulting in increase in operability in the upload operation. Also, in the third embodiment, as in the first embodiment, the above-described processings are executed by the execution of the web browser program  24   a , the plug-in program  24   b , and the scan driver program  24   c . There will be explained, with reference to  FIG. 12 , a flow of processings executed by the CPU  12  according to the plug-in program  24   b  in the case where the web browser program  24   a  is Firefox. It is noted that the same flow as illustrated in  FIG. 4  is executed in the flow executed by the CPU  12  according to the web browser program  24   a  in the case where the web browser program  24   a  is Firefox, and an explanation of which is dispensed with. Also, there will be explained, with reference to  FIG. 13 , a flow of processings executed by the CPU  12  according to the plug-in program  24   b  in the case where the web browser program  24   a  is Google Chrome. It is noted that the same flow as illustrated in  FIG. 6  is executed in the flow executed by the CPU  12  according to the web browser program  24   a  in the case where the web browser program  24   a  is Google Chrome, and an explanation of which is dispensed with. 
         [0072]    In the case where the web browser program  24   a  is Firefox, when the processing at S 106  in  FIG. 4  is executed according to the web browser program  24   a , the plug-in program  24   b  is executed, and as illustrated in  FIG. 12  the CPU  12  at S 220  determines whether the click operation detected by the execution of the web browser program  24   a  is left-click on the browse button  54  or not. When the click operation detected by the execution of the web browser program  24   a  is left-click on the browse button  54  (S 220 : YES), the CPU  12  at S 222  outputs the display disallowing command. The CPU  12  at S 224  controls the panel  18  to display the file selection screen  80 . 
         [0073]    The CPU  12  at S 226  determines whether the scan button  90  has been operated on the file selection screen  80  or not. When the scan button  90  is operated (S 226 : YES), the CPU  12  executes processings at S 230  and subsequent steps, but the processings at S 230 -S 238  are the same as the above-described processings at S 126 -S 134 , and an explanation of which is dispensed with. Upon completion of the processing at S 236 , the processings of the plug-in program  24   b  are finished, and the web browser program  24   a  executes the processings at S 108  and subsequent steps in  FIG. 4 . 
         [0074]    When any of the folder determination buttons  82 ,  84 ,  86 ,  88  is operated (S 226 : NO), the CPU  12  at S 228  outputs a file path (as another example of the second content location information) for a content selected from among contents stored in a folder corresponding to the operated button. The completion notification is output at S 238 , and the processings of the plug-in program  24   b  are finished. The web browser program  24   a  then executes the processings at S 108  and subsequent steps in  FIG. 4 . 
         [0075]    In the case where the web browser program  24   a  is Google Chrome, when the processing at S 142  in  FIG. 6  is executed according to the web browser program  24   a , the plug-in program  24   b  is executed, and as illustrated in  FIG. 13  the CPU  12  at S 240  determines whether operation information created by the execution of the web browser program  24   a  has been acquired or not. When the operation information created by the execution of the web browser program  24   a  is acquired (S 240 : YES), the CPU  12  executes processings at S 242  and subsequent steps, but the processings at S 242 -S 256  are the same as the above-described processings at S 222 -S 236 , and an explanation of which is dispensed with. Upon completion of the processing at S 256 , the CPU  12  at S 258  outputs the completion notification, and this flow returns to S 240 . It is noted that also when the operation information is not acquired at S 240  (S 240 : NO), the CPU  12  at S 258  outputs the completion notification, and this flow returns to S 240 . 
         [0076]    In the third embodiment as described above, as in the first embodiment, the scan content can be easily uploaded to the web server  32  utilizing the conventional web browser program, thereby reducing efforts required for development of the program. 
       Functional Configuration of CPU 
       [0077]    In view of the processings executed by the CPU  12  of the CPU  10 , the CPU  12  which executes the above-described processings can be considered to have a functional configuration illustrated in  FIG. 1 . As illustrated in  FIG. 1 , the CPU  12  includes an acquirer  100 , a determiner  102 , a completion information outputter  104 , a scan data acquirer  106 , a first identification information outputter  108 , a display controller  110 , a disallowing instruction outputter  112 , and a second identification information outputter  114 . The instruction acquisition processing is a functional portion of the CPU 12  which executes the processings at S 120 , S 160 , S 180 , S 200 , S 220 , and S 240 . The determination processing is a functional portion of the CPU 12  which executes the processings at S 122 , S 162 , S 184 , S 204 , S 226 , and S 246 . The completion information outputter  104  is a functional portion of the CPU 12  which executes the processings at S 134 , S 174 , S 196 , S 216 , S 238 , and S 258 . The content acquisition processing is a functional portion of the CPU 12  which executes the processings at S 128 , S 168 , S 190 , S 210 , S 232 , and S 252 . A first-content location informationcontent-location-information output processing is a functional portion of the CPU 12  which executes the processings at S 132 , S 172 , S 194 , S 214 , S 236 , and S 256 . A display processing is a functional portion of the CPU 12  which executes the processings at S 182 , S 202 , S 224 , and S 244 . A disallowing-instruction output processing is a functional portion of the CPU 12  which executes the processings at S 124 , S 164 , S 186 , S 206 , S 222 , and S 242 . A second-content location informationcontent-location-information output processing is a functional portion of the CPU 12  which executes the processing at S 228  and S 248 . 
         [0078]    While the embodiments have been described above, it is to be understood that the disclosure is not limited to the details of the illustrated embodiments, but may be embodied with various changes and modifications, which may occur to those skilled in the art, without departing from the spirit and scope of the disclosure. Specifically, while the PC  10  is employed as a device configured to execute the upload processing for uploading the data to the web server  32  in the above-described embodiments, a mobile terminal such as a smartphone may be employed, for example. While the mouse  16  is employed as an operation device for various kinds of inputs in the upload processing, a device such as an operation button and a touch panel may be employed. In the case where the touch panel is employed as the operation device, the various kinds of inputs can be performed by a touch operation, a flick operation, and other similar operations on the touch panel. 
         [0079]    While Firefox and Google Chrome are used as the web browser program  24   a  in the above-described embodiments, the present invention may be applied to various kinds of web browser programs. 
         [0080]    In the above-described embodiments, the processings illustrated in  FIGS. 4-7  are executed by the CPU  12 . These processings do not need to be executed by the CPU  12  and may be executed by an ASIC or another or other similar logical integrated circuits and may be executed by cooperation of the CPU, the ASIC, and the logical integrated circuit, for example. Also, the plug-in program  24   b  may include the scan driver program  24   c . In this case, a scan instruction is transmitted to the scanner  30  at S 126 , S 166 , S 188 , S 208 , S 230 , and S 250 . Furthermore, scan data is received from the scanner  30  at S 128 , S 168 , S 190 , S 210 , S 232 , and S 252 .