System and method for preventing duplicate uploads of modified photos in a synchronized content management system
First Claim
1. A computer-implemented method of modifying image files and uploading the modified image file to a content management system, comprising:
- for a first image file;
receive the first image file, wherein the first image file contains a first image in a first orientation and orientation data for the first image;
calculate, by at least one computer processor, a first hash value for the first image file that corresponds to the first image in the first orientation;
modify, by at least one processor, the first image file by rotating the first image from the first orientation to a second orientation based on the orientation data;
calculate, by the at least one computer processor, a second hash value for the first image file that corresponds to the first image in the second orientation, wherein the second orientation is different from the first orientation; and
store the modified first image file, calculated first hash value and calculated second hash value in memory,for a second image file;
receive the second image file, wherein the second image file contains a second image in a first orientation; and
calculate, by at least one computer processor, a third hash value for the second image file that corresponds to the second image in the first orientation; and
determine whether the calculated first hash value or the calculated second hash value equals the third hash value;
in response to determining that the calculated first hash value or the calculated second hash value equals the calculated third hash value, treating the second image file as a duplicate of the first image file.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system for automatically rotating image files and preventing duplicate uploads in a remote file storage system is described. The system receives an image file. The system calculates a hash value associated with newly uploaded files. The system then automatically rotates the images based on orientation data associated with the files (if included). The system then compares the hash value(s) associated with the new file(s) with the hash values from the existing files stored on the remote file storage system. If the hash values of any of the new files to be uploaded match a hash value on the hash value list, then the system prevents the new files from being uploaded to the remote file storage system.
75 Citations
22 Claims
-
1. A computer-implemented method of modifying image files and uploading the modified image file to a content management system, comprising:
-
for a first image file; receive the first image file, wherein the first image file contains a first image in a first orientation and orientation data for the first image; calculate, by at least one computer processor, a first hash value for the first image file that corresponds to the first image in the first orientation; modify, by at least one processor, the first image file by rotating the first image from the first orientation to a second orientation based on the orientation data; calculate, by the at least one computer processor, a second hash value for the first image file that corresponds to the first image in the second orientation, wherein the second orientation is different from the first orientation; and store the modified first image file, calculated first hash value and calculated second hash value in memory, for a second image file; receive the second image file, wherein the second image file contains a second image in a first orientation; and calculate, by at least one computer processor, a third hash value for the second image file that corresponds to the second image in the first orientation; and determine whether the calculated first hash value or the calculated second hash value equals the third hash value; in response to determining that the calculated first hash value or the calculated second hash value equals the calculated third hash value, treating the second image file as a duplicate of the first image file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system of preventing storage of image files, within the context of a synched content management system, that were previously modified and stored on the content management system, comprising at least one hardware processor configured to:
-
receive a first image file having a first image in a first orientation; calculate a first hash value for the first image file that corresponds to the first image in the first orientation; rotate the first image from the first orientation to a second orientation, wherein the second orientation is based on orientation data contained in the first image file, wherein the second orientation is different from the first orientation; calculate a second hash value for the first image file that corresponds to the first image in the second orientation; update the first image file to include orientation information that corresponds to the first image in the second orientation; and initiate storage of the updated first image file, including the rotated first image in the second orientation, the calculated first hash value and the calculated second hash value. - View Dependent Claims (11, 12, 13)
-
-
14. A content management system comprising:
-
at least one computer processor; and memory operatively coupled to the at least one processor, wherein the at least one processor is configured to; receive a first image file having an image in a first orientation; calculate a first hash value for the first image file that corresponds to the first image in the first orientation; modify the first image file by rotating the first image from the first orientation to a second orientation based on orientation information for the first image, wherein the second orientation is different from the first orientation; calculate a second hash value for the first image that corresponds to the first image in the second orientation; determine whether the modified first image file is a duplicate of a second image file comprising a second image, previously stored in the memory, by comparing the calculated first hash value and the calculated second hash value for the first image file to a third hash value for the second image file; and store the modified first image, the calculated first hash value and the calculated second hash value in memory if the modified first image file is not a duplicate of the second image file based on the comparison. - View Dependent Claims (15, 16, 17)
-
-
18. A content management system comprising;
-
a means for receiving a first image file, the first image file having an image in a first orientation and orientation data for the image; a means for calculating a first hash value for the first image file with the first image in a first orientation; a means for rotating the first image file from the first orientation into a second orientation based on the orientation data; a means for calculating a second hash value for the first image file with the first image in a second orientation, wherein the second orientation is different from the first orientation; a means for determining if the first image file is a duplicate of a previously modified and uploaded second image file, by comparing the calculated first hash value and the calculated second hash value for the first image file to a third hash value for the previously modified and uploaded second image file; and a means for storing the rotated first image file, the calculated first hash value and the calculated second hash value if the first image file is not a duplicate of the previously modified and uploaded second image file based on the determination. - View Dependent Claims (19, 20, 21, 22)
-
Specification